Манипуляции с пикселями в растровом изображении с использованием MFC

Привет, я создал диалоговое окно с помощью диалогового окна MFC. Используя приведенный ниже URL-адрес, я отобразил растровое изображение в диалоговом окне.

http://www.functionx.com/visualc/applications/displaybitmap.htm

Я не писал никакого кода для этого. Я просто добавил растровое изображение в диалоговое окно импорта изображения и использовал управление изображением и следовал руководству... когда я запускаю свое приложение, оно отображает изображение... теперь я хотел бы знать, так ли это можно выполнять манипуляции с пикселями, используя это изображение... почему я спрашиваю, это означает, что я не написал никакого кода для отображения изображения... пожалуйста, объясните мне в этом отношении.... Большое спасибо


person Community    schedule 09.05.2009    source источник


Ответы (2)


GetDIBits() и консорты - это то, что вам нужно. Откровенно говоря, манипуляции с изображениями win32 и DC — это довольно сложная тема, и вам нужно будет приложить гораздо больше усилий, чем следовать учебнику, чтобы сделать это правильно. Начните с чтения документации msdn для GetDIBits() и связанных функций, затем прочитайте соответствующие разделы в Petzold, а затем прочитайте все статьи, в которых упоминается GetDIBits() на codeproject.com. Это должно научить вас выполнять низкоуровневые манипуляции с растровыми изображениями.

В качестве альтернативы лучше сформулируйте свой вопрос (т. е. объясните свою проблему и то, чего вы хотите достичь), и, возможно, кто-то сможет предложить вам быстрое и грязное решение.

person Roel    schedule 12.05.2009

Помнится, есть Win32 API для загрузки и декодирования растровых изображений.

Когда у вас есть растровое изображение в памяти в виде буфера RGB, вы можете изменить его. Затем вам нужно будет передать измененный буфер в виде нового растрового изображения, что снова сделает за вас API.

Имейте в виду, конечно, что наличие растрового изображения в памяти, где вы затем хотите, например, увеличить размеры изображения, потребует соответствующих манипуляций с буфером - нет Win32 API для общего редактирования растрового изображения.

person Community    schedule 09.05.2009