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