public Animation(MNG mng) { frame = 0; listBitmap = new List <Bitmap>(); listOffset = new List <Point>(); Point frameSize = new Point(mng.Width, mng.Height); for (int i = 0; i < mng.NumEmbeddedPNG; i++) { Bitmap bmp = mng.ToBitmap(i); Point p = mng.GetOffset(i); AddBitmap(bmp, p); } }
static void Main(string[] args) { if (args.Length != 1 && args.Length != 2) { return; } string outdir = Path.ChangeExtension(args[0], null); if (!Directory.Exists(outdir)) { Directory.CreateDirectory(outdir); } var Loader = new MNG(); Loader.Load(args[0]); int Count = Loader.NumEmbeddedPNG; string TextName = Path.ChangeExtension(args[0], ".txt"); var TextStream = new FileStream(TextName, FileMode.Create, FileAccess.Write); var TextWriter = new StreamWriter(TextStream); for (int i = 0; i < Count; i++) { var bitmap = Loader.ToBitmap(i); var FileName = Loader.pngs[i].GetName(); TextWriter.WriteLine(FileName); if (FileName != null && FileName.Length > 0 && args.Length == 2) { bitmap.Save(Path.Combine(outdir, FileName + ".png"), System.Drawing.Imaging.ImageFormat.Png); } else { bitmap.Save(Path.Combine(outdir, string.Format("{0:0000}.png", i)), System.Drawing.Imaging.ImageFormat.Png); } } TextWriter.Close(); }
public bool Unpack(object Args) { try { var Loader = new MNG(); Loader.Load(m_FileName); int Count = Loader.NumEmbeddedPNG; string outdir = Path.ChangeExtension(m_FileName, null); for (int i = 0; i < Count; i++) { var bitmap = Loader.ToBitmap(i); bitmap.Save(Path.Combine(outdir, string.Format("{0:0000}.png", i)), System.Drawing.Imaging.ImageFormat.Png); } } catch (Exception E) { return(false); } return(true); }
private void doLoadMNG() { dlgOpen.Filter = "MNG|*.MNG"; dlgSave.DefaultExt = ".MNG"; dlgOpen.Multiselect = false; if (dlgOpen.ShowDialog() == DialogResult.OK) { MNG mng = new MNG(); if (!mng.Load(dlgOpen.FileName)) { MessageBox.Show("Can not load \n" + dlgOpen.FileName, Application.ProductName); } int c = lstPictureList.Items.Count; for (int i = 0; i < mng.NumEmbeddedPNG; i++) { Bitmap bmp = mng.ToBitmap(i); Point p = mng.GetOffset(i); Animation.AddBitmap(bmp, p); lstPictureList.Items.Add("[" + c.ToString() + "] " + bmp.Width.ToString() + " " + bmp.Height.ToString()); c++; } } }
public void SetUnmatchedRegexHandler(Action <string> handler) { MNG.SetUnmatchedRegexHandler(handler); }