Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

Свойство 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.027 c
3-67149
SanteR
2003-04-02 15:58
2003.04.21
Фильтр записей в TTable


3-67184
Roka
2003-04-01 23:08
2003.04.21
БД FoxPro в 866


14-67489
sashas
2003-04-03 14:40
2003.04.21
Реакция компонента на события.


3-67099
caesar
2003-04-02 14:24
2003.04.21
DbGrid


14-67473
Тих
2003-04-03 00:23
2003.04.21
Oracle унд MS SQL