public void SaveIcon(Image In, string Out) { if (!(In.RawFormat.Guid == ImageFormat.Png.Guid)) { In = ConvertToPNG(In); } List <Bitmap> Images = new List <Bitmap>(); foreach (Size RenderSize in RenderSizes) { Console.WriteLine($"Rendering at {RenderSize.ToString()}"); Bitmap Res = (Bitmap)ResizeImage(In, RenderSize); Console.WriteLine($"Resized Format: {Res.RawFormat}"); if (Res.RawFormat.Guid != ImageFormat.Png.Guid) { Res = (Bitmap)ConvertToPNG(Res); } Images.Add(Res); } IconFactory factory = new IconFactory(); if (File.Exists(Out)) { File.SetAttributes(Out, FileAttributes.Normal); File.Delete(Out); } using (FileStream FS = new FileStream(Out, FileMode.CreateNew, FileAccess.Write)) { IconFactory.SavePngsAsIcon(Images, FS); FS.Close(); } }
public MainWindow() { InitializeComponent(); #if DEBUG SizeChanged += (sender, e) => { Title = RenderSize.ToString(); }; #endif }