Вверх ↑
Разработчик
Ответов: 26151
Рейтинг: 2127
#1: 2008-01-20 00:19:53 ЛС | профиль | цитата
Galkov, спс..., уже стянул.

Насчет отрисовки на контексте Bitmap'a, то вот так работает


#pas
if valid then begin
hdcMem:= CreateCompatibleDC(0);
hdcBmp:= CreateCompatibleBitmap(DC, wsz, hsz);
SelectObject(hdcMem, hdcBmp);
BitBlt(hdcMem, 0, 0, wsz, hsz, DC, 0, 0, SRCCOPY);

if (sz.cx * 100) div sz.cy > (hw * 100) div hh then
FImgCtx.StretchBlt(hdcMem, x1, y1 + (hh - (hw * sz.cy) div sz.cx) div 2, hw, (hw * sz.cy) div sz.cx, 0, 0, sz.cx, sz.cy, SRCCOPY)
else
FImgCtx.StretchBlt(hdcMem, x1 + (hw - (hh * sz.cx) div sz.cy) div 2, y1, (hh * sz.cx) div sz.cy, hh, 0, 0, sz.cx, sz.cy, SRCCOPY);

BitBlt(DC, 0, 0, wsz, hsz, hdcMem, 0, 0, SRCCOPY);
DeleteDC(hdcMem);

_hi_CreateEvent(_Data,@_event_onLoad);

Иначе работать никак не желает.
карма: 22

0