XY-Bitmap в приложении MFC - PullRequest
       15

XY-Bitmap в приложении MFC

0 голосов
/ 10 июня 2009

Я использую библиотеку, которая была перенесена в Windows из Linux. Библиотека используется для чтения базы данных Terrain, и до этого момента она использовалась для простых запросов; высота, линия прямой видимости и т. д. Но он также имеет возможность создавать растровые изображения базового файла ландшафта, которым я хотел бы воспользоваться ... Используемая мной функция говорит, что она создает "XY-растр затем может быть передано в XPutImage ". В прошлом я отображал изображения в приложении MFC, но не могу заставить этот конкретный растр работать. Есть ли способ отобразить такое растровое изображение в приложении WIN32? Или возможно порт WIN32 функции XPutImage? Я бы даже хотел использовать Python, если у него есть некоторая поддержка для этого типа изображения.

1 Ответ

1 голос
/ 10 июня 2009

XY-битовая карта имеет битовую глубину 1 бит. То, что вы можете попробовать, это использовать CreateBitmap () с битовой глубиной 1 пиксель, использовать GetDIBits (), чтобы получить указатель на необработанные данные пикселей и скопировать XY-битовую карту поверх данных пикселей с помощью memcpy (). Я не уверен, что порядок строк / столбцов одинаков.

Если это не сработает, легко написать функцию, которая будет сканировать растровое изображение XY и копировать значения в растровое изображение, созданное вами с помощью CreateBitmap () - будь то с глубиной 1 бит или я полагаю, более высокая глубина зависит от остальной части растровых изображений, с которыми вы работаете. Метод будет таким же: используйте GetDIBits (), чтобы получить необработанные данные растрового изображения, выберите растровое изображение в DC после завершения копирования, используйте BitBlt (), StretchBlt () или AlphaBlend (), чтобы отобразить растровое изображение краска DC.

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