using System.IO;
using System.Windows.Media.Imaging;
const string inFile = @".\test2.png";
const string outFile = @".\test1.png";
using var fs = new FileStream(inFile, FileMode.Open, FileAccess.Read);
var bi = new BitmapImage();
bi.BeginInit();
bi.CreateOptions = BitmapCreateOptions.None;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.StreamSource = fs;
bi.EndInit();
bi.Freeze();
using var stream = new FileStream(outFile, FileMode.Create, FileAccess.Write);
var encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bi));
encoder.Save(stream);
コメント