Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
ВнизСвойство TCanvas.ClipRect Найти похожие ветки
← →
bkv (2003-04-09 12:54) [0]Подскажите как работать с TCanvas.ClipRect?
Читаю help: then set the ClipRect ....
Но оно - TCanvas.ClipRect - ReadOnly!
Как мне его поменять?
← →
Skier (2003-04-09 13:03) [1]>bkv
Конечная цель какая ?
← →
bkv (2003-04-09 13:09) [2]Надо перерисовать только часть изображения.
← →
Skier (2003-04-09 13:11) [3]InvalidateRect(...) не устроит ?
← →
bkv (2003-04-09 13:23) [4]Насколько я понимаю эта функция применима к Окну.
У меня такая ситуация:
В обработчике TPaintBox.Onpaint c помощью TPaintBox.canvas рисуется довольно громоздкое изображение.
Иногда нет необходимости перерисовывать его целиком.
Как ограничить область перерисовки?
← →
Бурундук (2003-04-09 13:25) [5]SelectClipRgn(Canvas.Handle, YourClipRgn);
← →
bkv (2003-04-09 14:42) [6]А как создать ClipRegion?
← →
bkv (2003-04-09 14:57) [7]Я задаю SelectClipRgn но при выполнении ONpaint event Canvas все равно перерисовывает все изображение.
← →
Бурундук (2003-04-09 15:22) [8]procedure XXX.XXXPaint(...);
begin
R := FDestCanvas.ClipRect;
IntersectRect(FinalClipRect, YourDesiredClipRect, R);
ClipRgn := CreateRectRgn(FinalClipRect.Left, ...);
SelectClipRgn(Canvas.Handle, ClipRgn);
DeleteObject(ClipRgn);
//здесь рисуешь
end;
← →
bkv (2003-04-09 15:38) [9]Ничего не получается:
procedure XXX.ImagePaint(...);
begin
ClipRgn := CreateRectRgn(0,100,0,300);
SelectClipRgn(Image.Canvas.Handle, ClipRgn);
Image.Canvas.StretchDraw(rect(0,500,0,500), CurrBmp);
end;
- И ничего не рисуется! Убираю SelectClipRgn - всю нормально.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c