在C#中获取内存中的图像句柄
我有一个函数,可以Handle
图像的Handle
:
DoSomethingWithImage( int imageHandle) { }
在我的主要内容中,我有一个Image myImage
,它驻留在内存中。 如何获取myImage
的Handle
,以便我可以将Handle
传递给DoSomethingWithImage()
?
main() { //memorySTream is a byte[] Image myImage = Image.FromStream(memoryStream, true); DoSomethingWithImage( ??? ); }
Image
只是抽象的基类; 后代不一定保证甚至有 Windows句柄。 您需要知道特定类型的图像 – 您最常使用的SDK也是如此; 可能假设句柄对应于特定格式(我猜测位图)。
如果图像实际上是Bitmap
,那么您可能希望使用Bitmap.GetHbitmap方法。 另一方面,如果图像确实是Metafile
,那么您需要使用Metafile.GetHenhmetafile方法来获取句柄。