Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

рисование [D5]


race1 ©   (2002-08-30 12:41:00) 

как бы мне нарисовать на имаге, на которой есть большое изображение (т.е. перерисовка не годится) не то что бы линию, а как в фотошопе линейка - на изображении линия не задерживается, а постоянно перерисовывается от начальной координаты до указателя мышки, притом, что бы имага не мерцала при этом?. как?


race1   (2002-09-06 18:10:00) [1]

но изображения-то нет!


lenin   (2002-08-30 13:46:00) [2]

Она и будет дергаться.


race1   (2002-08-30 13:43:00) [3]

мышка дёргается, типа, линию рисует, а изоьражения нету :(


race1   (2002-08-30 13:43:00) [4]

мышка дёргается, типа, линию рисует, а изоьражения нету :(


race1   (2002-08-30 13:42:00) [5]

мышка дёргается, типа, линию рисует, а изоьражения нету :(


Cr@sh   (2002-08-30 12:48:00) [6]

Может это тебе поможет:


var
StrPosX, StrPosY: integer;
PosX, PosY: integer;
Down: boolean;

procedure TForm1.I1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if lines.Checked=true then
begin
StrPosX:=X;
StrPosY:=Y;
PosX:=x;
PosY:=y;
Down:=true;
end;
end;

procedure TForm1.I1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if lines.Checked=true then
begin
if Down then
with i1.Canvas do
begin
Pen.Mode:=pmNotXor;
MoveTo(StrPosX,StrPosY);
LineTo(PosX,PosY);
PosX:=X;
PosY:=Y;
MoveTo(StrPosX,StrPosY);
LineTo(PosX,PosY);
end;
end;
end;

procedure TForm1.I1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if lines.Checked=true then
begin
Down:=false;
with i1.Canvas do
begin
Pen.Mode:=pmCopy;
MoveTo(StrPosX,StrPosY);
LineTo(X,Y);
end;
end;
end;


Cr@sh   (2002-08-30 12:44:00) [7]

Для того чтобы не мерцала используй doublebuffered:=true для компонента на котором находится имэйдж.


Наверх

Титульная страница Поиск, карта сайта Написать письмо