【问题标题】:Saving PNG with alpha channel使用 Alpha 通道保存 PNG
【发布时间】:2012-09-24 10:36:18
【问题描述】:

我正在尝试将 WriteableBitmap 保存为 png,但总是以 24 位图像(无 alpha 通道)结束。

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) 的数组,因此我可以测试保存是否有效。 有什么想法吗?

【问题讨论】:

    标签: wpf png save alpha channel


    【解决方案1】:

    我设法找到了问题:文件在其他地方被更改并覆盖了初始图像。所以图像的初始保存工作正常。麻烦您了!

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      相关资源
      最近更新 更多