Здравствуйте уважаемые программисты, необходимо сделать масштабирование плюса, достаточно даже только на увеличение. Проблема в том, что две линии масштабируются не совсем корректно... т.е одна больше увеличивается по x, другая по y.
Цитата:
var
a,x1,y1,x2,y2,t,b:integer;
c:real;
x3,y3,x4,y4:integer;
d,n:integer;
begin
c:=strtoint(edit1.text);
x1:=100;
y1:=140;
x2:=100;
y2:=100;
With image1.Canvas do Begin
Brush.Color:=clWhite;
Pen.Color:=clBlack;
a:=y1-x1;
a:=floor(a*(c/100));
y1:=y1+a;
b:=x1-y1;
b:=floor(b*(c/100));
x1:=x1+b;
image1.Canvas.MoveTo(x1,x2);
image1.Canvas.LineTo(y1,y2);
x3:=120;
y3:=120;
x4:=120;
y4:=80;
With image1.Canvas do Begin
Brush.Color:=clWhite;
Pen.Color:=clBlack;
d:=y4-x4;
d:=floor(d*(c/100));
y4:=y4+d;
n:=x4-y4;
n:=floor(n*(c/100));
x4:=x3+n;
image1.Canvas.MoveTo(x3,x4);
image1.Canvas.LineTo(y3,y4);
end;
end;
end;
|