0

WriteableBitmap を png に保存しようとしていますが、常に 24 ビット イメージ (アルファ チャンネルなし) になります。

WriteableBitmap image = new WriteableBitmap(100, 100, 600, 600, PixelFormats.Bgra32, null);
int stride = image.PixelWidth * image.Format.BitsPerPixel / 8;
image.WritePixels(new System.Windows.Int32Rect(0, 0, image.PixelWidth, image.PixelHeight), emptyArray, stride, 0);

FileStream filestream = new FileStream(imageSrc, FileMode.Create);
PngBitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((image)));
encoder.Save(filestream);

emptyArray は、すべてのピクセルが (255, 0, 0, 0) である配列であるため、保存が機能したかどうかをテストできます。何か案は?

4

1 に答える 1

0

問題を見つけることができました。ファイルが別の場所で変更され、最初のイメージが上書きされました。そのため、画像の最初の保存はうまくいきました。面倒でごめんなさい!

于 2012-09-24T12:04:38.850 に答える