public static Npck[] FromBackgroundImageSharePaletteChangeDepth(string[] images, Npck original, bool partialImage = false) { EmguImage[] emguImgs = new EmguImage[images.Length]; for (int i = 0; i < images.Length; i++) { emguImgs[i] = new EmguImage(images[i]); } BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[6], original[1], original[0]); importer.PartialImage = partialImage; // Create packs Npck[] packs = new Npck[images.Length]; for (int i = 0; i < images.Length; i++) { MemoryStream nclrStr = new MemoryStream(); MemoryStream ncgrStr = new MemoryStream(); MemoryStream nscrStr = new MemoryStream(); if (i > 0) { importer.PaletteMode = PaletteMode.Palette16_16; importer.Format = ColorFormat.Indexed_4bpp; } importer.ImportBackground(emguImgs[i], nscrStr, ncgrStr, nclrStr); nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0; // Only first pack file has palette file if (i == 0) { packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr); } else { packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, null); } } // Dispose images foreach (EmguImage emgu in emguImgs) { emgu.Dispose(); } return(packs); }
public static Npck[] FromBackgroundImageShareImage(string[] images, Npck original) { EmguImage[] emguImgs = new EmguImage[images.Length]; for (int i = 0; i < images.Length; i++) { emguImgs[i] = new EmguImage(images[i]); } BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[6], original[1], original[0]); Npck[] npcks = FromBackgroundImageShareImage(emguImgs, importer); // Dispose images foreach (EmguImage emgu in emguImgs) { emgu.Dispose(); } return(npcks); }
public static Npck FromBackgroundImage(EmguImage image, Npck original, bool changePalette = false) { if (original[0] == null || original[1] == null) { throw new FormatException( "Can not import image.\n" + "There is not palette or image in the original pack." ); } MemoryStream nclrStr = new MemoryStream(); MemoryStream ncgrStr = new MemoryStream(); MemoryStream nscrStr = new MemoryStream(); // Import image BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[2], original[1], original[0], changePalette); importer.ImportBackground(image, nscrStr, ncgrStr, nclrStr); nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0; return(Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr)); }
public static Npck[] FromBackgroundImageSharePaletteChangeDepth(string[] images, Npck original, bool partialImage = false) { EmguImage[] emguImgs = new EmguImage[images.Length]; for (int i = 0; i < images.Length; i++) emguImgs[i] = new EmguImage(images[i]); BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[6], original[1], original[0]); importer.PartialImage = partialImage; // Create packs Npck[] packs = new Npck[images.Length]; for (int i = 0; i < images.Length; i++) { MemoryStream nclrStr = new MemoryStream(); MemoryStream ncgrStr = new MemoryStream(); MemoryStream nscrStr = new MemoryStream(); if (i > 0) { importer.PaletteMode = PaletteMode.Palette16_16; importer.Format = ColorFormat.Indexed_4bpp; } importer.ImportBackground(emguImgs[i], nscrStr, ncgrStr, nclrStr); nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0; // Only first pack file has palette file if (i == 0) packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr); else packs[i] = Npck.FromBackgroundStreams(nscrStr, ncgrStr, null); } // Dispose images foreach (EmguImage emgu in emguImgs) emgu.Dispose(); return packs; }
public static Npck[] FromBackgroundImageSharePalette(string[] images, Npck original) { EmguImage[] emguImgs = new EmguImage[images.Length]; for (int i = 0; i < images.Length; i++) emguImgs[i] = new EmguImage(images[i]); BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[6], original[1], original[0]); Npck[] npcks = FromBackgroundImageSharePalette(emguImgs, importer); // Dispose images foreach (EmguImage emgu in emguImgs) emgu.Dispose(); return npcks; }
public static Npck FromBackgroundImage(EmguImage image, Npck original, bool changePalette = false) { if (original[0] == null || original[1] == null) throw new FormatException( "Can not import image.\n" + "There is not palette or image in the original pack." ); MemoryStream nclrStr = new MemoryStream(); MemoryStream ncgrStr = new MemoryStream(); MemoryStream nscrStr = new MemoryStream(); // Import image BackgroundImporter importer = new BackgroundImporter(); importer.SetOriginalSettings(original[2], original[1], original[0], changePalette); importer.ImportBackground(image, nscrStr, ncgrStr, nclrStr); nclrStr.Position = ncgrStr.Position = nscrStr.Position = 0; return Npck.FromBackgroundStreams(nscrStr, ncgrStr, nclrStr); }