Нужны биты с независимой от устройства битовой картой - PullRequest
0 голосов
/ 17 ноября 2011

Я собираю dll в C ++ для импорта в проект VB.DLL предоставляет функцию, которая извлекает изображение предварительного просмотра указанного документа через оболочку Win, а затем записывает его в буфер для использования приложением VB.

Пока я могу получитьручка HBITMAP без проблем.Я также смог извлечь данные растрового изображения с помощью функции GetBitmapBits.Однако это не сработает, поскольку объект, для которого требуются битовые данные, должен иметь независимый от устройства формат.

Я читал, что GetDiBits - это функция, используемая для этой цели, но мне трудно понять, как успешно вызвать функцию.

Какой контекст устройства мне использовать?Кроме того, как я могу гарантировать, что он записывает данные в независимом от устройства формате?

Заранее спасибо.

1 Ответ

0 голосов
/ 17 ноября 2011

Если ваш HBITMAP ссылается на бит-карту, зависящую от устройства, и вам нужны биты, не зависящие от устройства, их необходимо преобразовать. Попробуйте создать CImage и вызвать метод BitBlt, чтобы поместить в него независимые от устройства биты.

...