我有一个奇怪的问题,将剪贴板图像保存为PNG。当使用prtscr或剪切工具截图时,它可以很好地处理Clipboard.GetImage()和PngBitmapEncoder。但是当从Paint复制图像并执行相同操作时,我会得到一个空的图像。至少在试图查看它时看起来是空的,尽管它似乎包含有效的PNG图像数据。当使用Jpeg编码器时,它工作正常。 PNG和Paint有什么问题?它与透明度有什么关系?.NET:将剪贴板图像保存到PNG失败
更新 澄清:我从剪贴板中成功地提取图像。我只是不能将它保存到使用PNGEncoder的光盘上,如果图像是从Paint首先复制的。尽管我可以使用JpegEncoder保存绘画剪贴板图像,但是我想使用PNG。
BitmapSource source = Clipboard.GetImage();
PngBitmapEncoder enc = new PngBitmapEncoder();
enc.Frames.Add(BitmapFrame.Create(source));
enc.Save(stream);
以上代码生成一个图像文件与隐形内容,变成了完全黑或白取决于观众(来自,CTRL-C复制时,从描绘)。这导致我认为它与透明度有关...
你能提供一个代码示例吗? – Arjen 2011-04-07 12:59:44