2010-09-20 52 views
0

我有一個函數,它在一個Handle到圖像:獲取圖像的手柄在存儲器中的C#

DoSomethingWithImage(int imageHandle) 
{ 
} 

以我主,我有一個Image myImage,它駐留在存儲器中。 如何獲得HandlemyImage,以便我可以將Handle傳遞給DoSomethingWithImage()

main() 
    { 
    //memorySTream is a byte[] 
    Image myImage = Image.FromStream(memoryStream, true); 
    DoSomethingWithImage(???); 
    } 
+1

爲什麼如果你傳遞一個圖像,你會收集一個Int? – 2010-09-20 03:08:24

+0

DoSomethingWithImage(int imageHandle)是SDK中的一個函數。我不知道爲什麼他們也接受一個整數。 SDK說int是一個Image的句柄。 – Robogal 2010-09-20 03:14:31

回答

2

Image只是抽象的基類;後代並不一定保證即使一個Windows句柄。您需要知道圖像的具體類型 - 最有可能的是您使用的SDK也是如此;它可能假設句柄對應於特定的格式(我會猜測位圖)。

如果圖像實際上是Bitmap,那麼您應該使用Bitmap.GetHbitmap方法。另一方面,如果圖像確實是Metafile,那麼您需要使用Metafile.GetHenhmetafile方法來獲取句柄。

+0

感謝您的回答。我對Image和Bitmap非常困惑。 – Robogal 2010-09-20 05:15:18

相關問題