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

Вниз

Выделение мышью фрагмента на Canvas   Найти похожие ветки 

 
AlexOld   (2003-04-07 11:16) [0]

Уважаемые мастера, как сделать выделяющую рамку на изображении? Рисовал PolyLine с координатами от MouseMove. Есс-но, рисуются все рамки при перемещении мышки. Как оставить только последнюю, но чтобы был виден процесс перемещения рамки - как в графических редакторах. Заранее спасибо.


 
jel ©   (2003-04-07 11:24) [1]

Рисуй сначала по старым координатам с XOR (стирание старой рамки) а потом по новым.


 
AlexOld   (2003-04-07 18:46) [2]

jel, спасибо! Пока пробовал с NOTXOR, набрел на метод DrawFocusRect - все работает как надо. Только при движении мышки без нажатия клавиши по картинке бегут полосы - не смог их убрать. Код такой:
procedure TForm1.Image1MouseMove(Sender:...);
begin
//Стирание прежней рамки
Image1.Canvas.DrawFocusRect(R);
if (ssLeft in Shift) then
begin
if XStart<X
then begin R.Left:=XStart; R.Right:=X end
else begin R.Left:=X; R.Right:=XStart end;
if YStart<Y
then begin R.Top:=YStart; R.Bottom:=Y end
else begin R.Top:=Y; R.Bottom:=YStart end;
//Рисование новой рамки
Image1.Canvas.DrawFocusRect(R);
end;
end;

Может, подскажете, куда двигаться?


 
Плохой человек   (2003-04-07 21:20) [3]

Поменяй на этот:

procedure TForm1.Image1MouseMove(Sender:...);
begin
if (ssLeft in Shift) then
begin
//Стирание прежней рамки
Image1.Canvas.DrawFocusRect(R);
if XStart<X
then begin R.Left:=XStart; R.Right:=X end
else begin R.Left:=X; R.Right:=XStart end;
if YStart<Y
then begin R.Top:=YStart; R.Bottom:=Y end
else begin R.Top:=Y; R.Bottom:=YStart end;
//Рисование новой рамки
Image1.Canvas.DrawFocusRect(R);
end;
end;


 
AlexOld   (2003-04-08 13:11) [4]

Хороший Плохой человек!
Спасибо, все получилось!



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
6-100867
pirat
2003-05-23 18:20
2003.07.31
Во всем виноват прокси ?


1-100729
andrey__
2003-07-02 17:26
2003.07.31
Форма в TService


3-100529
Buka
2003-07-01 19:23
2003.07.31
Можно ли принципиально увидеть русский текст?


14-100889
Soft
2003-07-16 11:29
2003.07.31
Скажи мне какой товар ты предпочитаешь и я скажу кто ты.


3-100590
Dinik
2003-07-01 11:16
2003.07.31
Шифрование данных таблицы