我正試圖從剪貼板中取設備無關位圖。我很清楚,這可以通過內嵌在.NET Framework中的Clipboard.GetData函數完成,但由於它非常麻煩(如網上許多地方所記錄),我只想使用這些API。將指針轉換成MemoryStream?
我寫了下面的代碼,它的作品。
//i can correctly cast this to a MemoryStream
MemoryStream ms = Clipboard.GetData("DeviceIndependentBitmap") as MemoryStream;
但我想用它與API,它只是返回一個指向流的指針(IntPtr)。我查看了UnmanagedMemoryStream,但未能理解如何將IntPtr
正確轉換爲該格式。
這是我的API代碼(使用GetClipboardData API,其中CF_DIB
格式設置爲其參數)。
IntPtr p = GetClipboardData(8);
//what do I do from here to get a MemoryStream from this pointer?
我有點困惑。我已經自己研究過它,但不能提出一些有用的東西。