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();
            }
        }
示例#2
0
        public MainWindow()
        {
            InitializeComponent();
#if DEBUG
            SizeChanged += (sender, e) =>
            {
                Title = RenderSize.ToString();
            };
#endif
        }