我正在尝试保存从剪贴板复制的 PNG 图像,但它要么变成了纯黑色,要么在应该是透明的区域周围变成了黑色。
这是我用来捕获和保存图像的代码:
var clipboardImage = (InteropBitmap)Clipboard.GetImage();
Image.SaveImage(clipboardImage, Path.Combine(Config.App.ApplicationDataImagesPath, string.Format("{0}.{1}", imageId, "png")));
public static void SaveImage(BitmapSource bitmapImage, string filename)
{
using (var fileStream = new FileStream(filename, FileMode.Create))
{
var pngBitmapEncoder = new PngBitmapEncoder();
pngBitmapEncoder.Frames.Add(BitmapFrame.Create(bitmapImage));
pngBitmapEncoder.Save(fileStream);
fileStream.Close();
fileStream.Dispose();
}
}
有没有人知道为什么它不能保留PNG图像的Alpha通道?
谢谢。
Dan
编辑:我应该提到,当从Internet Explorer 9复制图像时,黑色图像会出现。从Chrome或Firefox复制图像时完美运行。有没有IE9问题的解决方法?