私はBitmap
が256色のインデックス形式であるため、サイズを変更して新しいBitmap
を24ビットRGB形式で作成し、Graphics
オブジェクトを使用して描画します。インデックス付きカラービットマップからグラフィックスオブジェクトを作成することはできません。C#リサイズインデックス付きカラービットマップと色を維持
BitmapSource bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(bmp.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
FormatConvertedBitmap converted = new FormatConvertedBitmap();
converted.BeginInit();
converted.Source = bitmapSource;
converted.DestinationFormat = System.Windows.Media.PixelFormats.Indexed8;
converted.DestinationPalette = new BitmapPalette(bitmapSource, 256);
converted.EndInit();
これは動作しますが、固体の色は今粗くであり、他の色の画素が含まれています。私はそのように私はこのようなインデックスカラーに変換するFormatConvertedBitmap
を使用してインデックスカラーフォーマットとして戻ってリサイズした画像を保存する必要があります。インデックス付きのカラーイメージのサイズを変更する方法や、ソリッドカラーを維持する方法がありますか?