Как преобразовать собственный двоичный образ в памяти в образ Winforms? - PullRequest
1 голос
/ 09 ноября 2011

У меня есть собственная библиотека c ++, которая создает выходное изображение как собственную область в памяти.Это ARGB, 32 бита на один пиксель, ширина * высота раз.У меня есть приложение winforms, где я хочу отобразить это выходное изображение.Поэтому я добавил picturebox, которому нужно установить свойство Image в Image.Как мне преобразовать это?

Sidenote: У меня была похожая проблема некоторое время назад с приложением WPF, отображающим такое изображение.Я понял, что работает так:

BitmapSource ^ bitmap = BitmapSource::Create(pic->GetX(), pic->GetY(),
        96, 96, PixelFormats::Bgr32, nullptr,
        IntPtr(pic->GetPointer()), pic->GetX() * pic->GetY() * sizeof(unsigned int), pic->GetX() * sizeof(unsigned int));
ImageControl->Source = bitmap;

, где pic-> GetPointer () возвращает собственный указатель на изображение в памяти.Но это не работает для Winforms.

1 Ответ

1 голос
/ 09 ноября 2011

Адаптация из комментариев:

Используйте Bitmap.LockBits () , чтобы получить указатель на данные пикселей, и посмотрите на класс BitmapData в целом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...