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

Вниз

Мерцание Image   Найти похожие ветки 

 
thvfrjd   (2005-12-23 10:30) [0]

Имеется простейщий граф редактор рисование происходит примерно вот так:
procedure TForm5.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin

If l then begin
Image1.Picture.Bitmap.Assign(ris);
case fig of
1: Image1.Canvas.LineTo(x,y);
2: Image1.Canvas.Ellipse(x1,y1,x,y);
3: Image1.Canvas.Rectangle(x1,y1,x,y);
end;
Image1.Canvas.MoveTo(x1,y1);
end;
При движении мыши появляется неприятное мерцание Image, можно как то избавиться от него?


 
WondeRu ©   (2005-12-23 11:56) [1]

рисовать сначала на "невидимом" TBitmap, затем копировать на TImage


 
Glex ©   (2006-01-08 17:36) [2]

Оно же: Form.DoubleBuffered:= true =)))))))))))


 
Gero ©   (2006-01-08 18:00) [3]

Не используй TImage, для рисования на нем он плохо подходит.


 
antonn ©   (2006-01-08 18:10) [4]

thvfrjd   (23.12.05 10:30)
во первых, как сказал WondeRu, нужно висовать в буфере.
во вторых - что за "ris" такой?

создаем временный битмап.
Глобально описываем:
var BT:TBitmap;

в FormCreate или еще где (допустим, что исходный рисунок хранится в ris):
BT.width:=ris.width;
BT.height:=ris.height;
Image1.picture.bitmap.width:=ris.width;
Image1.picture.bitmap.height:=ris.height;

В MouseMove:
//если ris по размеру image
bt.canvas.copyrect(rect(0,0,bt.width,bt.height),ris,rect(0,0,bt.width,bt.height));
case fig of
1: Image1.Canvas.LineTo(x,y);
2: Image1.Canvas.Ellipse(x1,y1,x,y);
3: Image1.Canvas.Rectangle(x1,y1,x,y);
end;
//...
//тыры-пыры
Image1.picture.bitmap.canvas.copyrect(rect(0,0,Image1.width,Image1.height),bt,rect(0,0,bt.width,bt.height));



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
6-1137435217
guitarist
2006-01-16 21:13
2006.06.04
Hyperterminal


2-1147890817
Тимофейка
2006-05-17 22:33
2006.06.04
динамическое создание кнопки


2-1147649380
rosl
2006-05-15 03:29
2006.06.04
bat


2-1147930734
ttt_111
2006-05-18 09:38
2006.06.04
Работа с компонентом DBGrid?


10-1120228814
Juice
2005-07-01 18:40
2006.06.04
TLB->PAS