我有一個奇怪的問題,將剪貼板圖像保存爲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