Порезать картинку

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

Ответить
geograph
Сообщения: 1
Зарегистрирован: 26 окт 2007, 09:58

У меня следующая проблема, у моей программы в ресурсах есть один рисунок.
При событии WM_INITDIALOG мне нужно разрезать этот рисунок на куски и по частям выводить на форму. Я пробовал следующий код, но он не работает:

Код: Выделить всё

HDC hdcMem;
HDC hdcMem2;
HBITMAP hbmpMem;
HBITMAP hbmpMem2;

hdcMem2 = CreateCompatibleDC(NULL);
SelectObject(hdcMem,LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP)));
BitBlt(hdcMem2,0,0,124,30,hdcMem,0,0,SRCCOPY);
hbmpMem = CreateCompatibleBitmap(hdcMem,124,30);
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Ты ничего не напутал? А какое значение присваивается hMem? По-моему здесь просто набор вызовов, в неправильном порядке и никак не связанных логически :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

Для этого удобно использовать ImageList. По заданным параметрам он делает нарезку исходной картинки на несколько фрагментов и получается что-то вроде массива изображений. К каждому фрагменту можно обращаться по индексу, как к элементу массива. К тому же у ImageList есть свой встроенный метод отрисовки изображений.
Ответить