簡體   English   中英

如何在vb.net中獲取圖像的句柄

[英]How do I get an image's handle in vb.net

我正在與一個用C編寫的庫交互,該庫要求我將圖像作為Int32句柄傳遞。 如何在VB中將圖像文件表示為整數? 或者,更具體地說,如何獲取資源的句柄?

您可以使用Bitmap.GetHbitmap()函數獲取圖像的HBITMAP (假設您使用的是位圖)。 使用DeleteObject()完成此值后,您必須確保正確清理此值。 例如(這確實來自MSDN):

[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);

...

using ( Bitmap bm = new Bitmap ( 10, 10 ) )
{
    IntPtr hBitmap = bm.GetHbitmap ();

    // Do something with hBitmap.

    DeleteObject ( hBitmap );
}

在API級別,不同類型的圖像用不同的句柄表示,因此,如果您使用的是圖標,則必須改用圖標的Handle屬性。 不需要釋放該句柄,因為它不是副本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM