2010-07-23 28 views
1

我有一個圖像從單詞使用「Comment.Scope.CopyAsPicture()」複製到剪貼板「 我怎樣才能找到這個圖像在剪貼板中的類型,以便我可以寫本地文件系統中具有適當擴展名的圖像?查找剪貼板中的圖像的類型

回答

4

DataFromats我們只有位圖成員...

通常你選擇的格式來存儲

IDataObject data = Clipboard.GetDataObject(); 

if (data.GetDataPresent(DataFormats.Bitmap)) 
{ 
    Bitmap bitmap = (data.GetData(DataFormats.Bitmap,true) as Bitmap); 

    bitmap.Save("image.bmp",System.Drawing.Imaging.ImageFormat.Bmp); 
    bitmap.Save("image.jpg",System.Drawing.Imaging.ImageFormat.Jpeg); 

} 

,但你可以創建自己的格式,並使用它

DataFormats.Format jepgFormat = DataFormats.GetFormat("jpgFormat"); 

Image image = new Image(); 
DataObject myDataObject = new DataObject(jpegFormat.Name, image); 

// Copies myObject into the clipboard. 
Clipboard.SetDataObject(myDataObject); 
+0

謝謝,這解決了我的問題 – 2010-07-23 18:34:17

+0

'DataFormats'只是字符串。那裏可以有什麼沒有限制。也就是說,剪貼板上的圖像類型Bitmap確實沒有真正的類型;它只是一個圖像對象。 – Nyerguds 2017-10-02 14:29:00

1

使用DataFormats.Bitmap你可以得到這個位圖並使用框架函數來保存它。

if (iData.GetDataPresent(DataFormats.Bitmap)) Bitmap bImg = (Bitmap)iData.GetData();