Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Изменение размера загруженного БитМапа


Автор: ZC1989 25.4.2007, 11:39
Я загружаю БитМап и рисую на форме, по быват так, что рисунок больше формы и не помещается в заданных размерах, я хочу схать картинку, а не обрезать её... как это сделать?

кусок кода:
Код

hBitmap        = LoadImage(GetModuleHandle(NULL), "c:\\img_temp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
GetObject(hBitmap, sizeof(BITMAP), &Bitmap);

StaticHDC    = GetDC(H_ADDIMG_Image);
MemoryHDC    = CreateCompatibleDC(StaticHDC);
SelectObject(MemoryHDC, hBitmap);

WidthIMG    = Bitmap.bmWidth;
HeightIMG    = Bitmap.bmHeight;

BitBlt(StaticHDC, 0, 0, WidthIMG, HeightIMG, MemoryHDC, 0, 0, SRCCOPY);
DeleteDC(MemoryHDC);
ReleaseDC(H_ADDIMG_Image, StaticHDC);

Автор: zkv 25.4.2007, 11:55
Цитата(ZC1989 @  25.4.2007,  11:39 Найти цитируемый пост)
BitBlt(StaticHDC, 0, 0, WidthIMG, HeightIMG, MemoryHDC, 0, 0, SRCCOPY);

юзай StretchBlt 

Автор: _hunter 25.4.2007, 11:55
юзай StretchBlt вместо BitBlt

Автор: ZC1989 25.4.2007, 12:18
_hunter, я уже добрался сам до этой функции... правда возник один вопрос: как с этими настройка разобраться...

я хочу сделать размер картинки 440 на 260, оригинальный размер 717 на 50...

задаю данные

StretchBit(StatHDC, 0, 0, 440, 260, MemHDC, 0, 0, 717, 50, SRCCOPY);

а картинка получается меньших размеров...

Добавлено через 7 минут и 36 секунд
за флуд извиняюсь... общитался с размерами... точнее это редактор форм в компиляторе не в пикселях всё преподносит...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)