public static ReskinFile ParseFile(Bitmap Image, bool loadHat = true) { var file = new ReskinFile(); file.Parse(Image, loadHat); return(file); }
ReskinFile SaveImage() { string s; if (!Datas.TrueForAll(x => x.isValid(out s))) { return(null); } ReskinFile file = new ReskinFile((Bitmap)(Datas[0].control as ImageSelectControl).ImageDisplay.Image, Datas.Skip(1).Select(x => x.getData()).Where(x => x != null).ToArray()); return(file); }
void OpenImage(Bitmap bitmap) { try { Applydatas(); var file = ReskinFile.ParseFile(bitmap); var ctrl = (Datas[0].control as ImageSelectControl); ctrl.ImageDisplay.Image = file.Hat; ctrl.ImageSize = file.Hat.Size; foreach (var data in file.OtherData) { Datas.Find(x => x.Name == data.Key)?.parseData(data); } bitmap.Dispose(); } catch { MessageBox.Show("Picture doesnt contain any reskin data", "Oh noes!"); } }
void AddFile(string path) { string fileName = Path.GetFileName(path); switch (Path.GetExtension(path)) { case ".rsk": File.Copy(path, DumpDirectory + fileName, true); return; case ".png": try { ReskinFile file = ReskinFile.ParseFile(new Bitmap(Image.FromFile(path))); string name = Path.GetFileNameWithoutExtension(path); File.WriteAllBytes(DumpDirectory + name + ".rsk", file.getHat(name)); return; } catch { } break; } ShowWarning("Could not load " + path, "Invalid reskin"); }