示例#1
0
        /// <summary>Converter the image to MV tileset.</summary>
        /// <param name="img">Image to be converted</param>
        /// <returns>An array of bitmaps converteds to MV tileset.</returns>
        public override Bitmap[] ConvertToMV(Image img)
        {
            if (!IsConvertible(img))
            {
                return(new Bitmap[1]);
            }
            List <Bitmap> images  = new List <Bitmap>();
            List <Bitmap> sprites = GetSprites(img);
            int           i       = 0;

            if (outputTileset.GetType() == typeof(Maker.MV_A5) || outputTileset.GetType() == typeof(Maker.MV_BE))
            {
                TilesetConverterVertical con = new TilesetConverterVertical(inputTileset, mode, ignoreAlpha);
                sprites.Clear();
                sprites = con.GetSprites(img as Bitmap);
            }
            //For each image
            while (i < sprites.Count)
            {
                Bitmap tempBmp = GetOutputBitmap();

                //Set image format
                switch (outputTileset.TilesetName())
                {
                case Maker.MV_A12.NAME:
                case Maker.MV_A4.NAME:
                case Maker.MV_A3.NAME:
                    i = PasteEachSpriteVertical(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width / 2, i);
                    i = PasteEachSpriteVertical(tempBmp, sprites, 0, tempBmp.Width / 2, tempBmp.Height, tempBmp.Width, i);
                    break;

                case Maker.MV_A5.NAME:
                    i = PasteEachSpriteHorizontal(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width, i);
                    break;

                case Maker.MV_BE.NAME:
                    i = PasteEachSpriteHorizontal(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width, i);
                    break;
                }
                images.Add(tempBmp);
            }
            return(images.ToArray());
        }
示例#2
0
        /// <summary>Converter the image to MV tileset.</summary>
        /// <param name="img">Image to be converted</param>
        /// <returns>An array of bitmaps converteds to MV tileset.</returns>
        public override Bitmap[] ConvertToMV(Image img)
        {
            if (!IsConvertible(img))
            {
                return(new Bitmap[1]);
            }
            List <Bitmap> images  = new List <Bitmap>();
            List <Bitmap> sprites = GetSprites(img);
            string        name    = outputTileset.TilesetName();
            int           i       = 0;

            if (name == Tileset.MV_A5.Name || name == Tileset.MV_BE.Name)
            {
                TilesetConverterVertical con = new TilesetConverterVertical(inputTileset, mode, ignoreAlpha);
                sprites.Clear();
                sprites = con.GetSprites(img as Bitmap);
            }

            //For each image
            while (i < sprites.Count)
            {
                Bitmap tempBmp = GetOutputBitmap();

                //Set image format
                if (name == Tileset.MV_A12.Name || name == Tileset.MV_A4.Name || name == Tileset.MV_A3.Name)
                {
                    i = PasteEachSpriteVertical(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width / 2, i);
                    i = PasteEachSpriteVertical(tempBmp, sprites, 0, tempBmp.Width / 2, tempBmp.Height, tempBmp.Width, i);
                }
                else if (name == Tileset.MV_A5.Name)
                {
                    i = PasteEachSpriteHorizontal(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width, i);
                }
                else if (name == Tileset.MV_BE.Name)
                {
                    i = PasteEachSpriteHorizontal(tempBmp, sprites, 0, 0, tempBmp.Height, tempBmp.Width, i);
                }

                images.Add(tempBmp);
            }
            return(images.ToArray());
        }