/// <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()); }
/// <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()); }