2012-06-18 2 views
0

Я использую C++/CLI и у меня есть сырой HBITMAP называется hStrip, я должен показать это в PictureBox, так что я нашел следующую функцию System::Drawing::Image::FromHbitmap, однако это занимает IntPtr и Я задавался вопросом, нужно ли мне преобразовать мой необработанный HBITMAP в IntPtr перед тем, как передать его, или если бы я мог уйти, передав его таким образом?Создание растрового изображения (.NET) от HBITMAP

Если мне нужно конвертировать, как мне преобразовать? Я так и не нашел конверсию. Однако я нашел это иначе.

+0

Пытались ли вы это? Неужели это ни в одном из этих случаев? – Attila

+0

@Attila no Я не пробовал, потому что мое приложение слишком сложное, чтобы просто попробовать его atm. Поскольку они по существу разные типы, я просто предполагаю несовместимость, но, возможно, мое предположение неверно –

+0

HBITMAP - это дескриптор, который является эффектом IntPtr. –

ответ

3

простой бросок получает работу:

HBITMAP hBmp = NULL; 
// Assign hBmp 
//... 
Bitmap^ bmp = Bitmap::FromHbitmap((IntPtr)hBmp); 
DeleteObject(hBmp); // okay to destroy now 
Смежные вопросы