Страница 1 из 1

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

Добавлено: 26 окт 2007, 10:13
geograph
У меня следующая проблема, у моей программы в ресурсах есть один рисунок.
При событии 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);

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

Добавлено: 04 дек 2007, 15:15
Romeo
Ты ничего не напутал? А какое значение присваивается hMem? По-моему здесь просто набор вызовов, в неправильном порядке и никак не связанных логически :)

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

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