簡體   English   中英

HBITMAP *位圖到.net位圖

[英]HBITMAP *Bitmap to .net Bitmap

我有一個Dll和它的頭文件,並且試圖在C ++中創建一個COM包裝器以在C#中使用。
對於大多數函數來說,這很簡單,因為它們返回的是intstring

我在頭文件中有此結構。

virtual HRESULT STDMETHODCALLTYPE GetBMP( 
            int Width,
            int Height,
            HBITMAP *Bitmap) = 0;

我的問題是,由於我與C ++脫節,所以我不知道如何將HBITMAP轉換為更適合.net風格的內容。

在此先感謝您,如果寫了愚蠢的東西請原諒

更新:我嘗試過這樣的事情:

HBITMAP GetBMP(int Width, int Height)
{

    HBITMAP bm = 0; 
    m_piHelper->GetBMP(Width,Height,&bm);   
    return bm ;

}

問題顯然是在c#之后,如何從'HBITMAP __ *'轉換為'System.IntPtr以與bitmap.fromHbitmap一起使用

該參數應為out IntPtr

然后,您可以創建一個附加函數,該函數將調用GetBMP ,然后調用Bitmap.FromHbitmap以返回位圖。 然后,該函數必須將DeleteObject hbitmap為原始hbitmap

您也許應該嘗試System.IntPtr。

暫無
暫無

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

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