Hallo,
ich habe folgendes Problem:
Ich möchte ein Farbiges rechteck (rot) mit canvas.copyrect kopieren, welches an eine schwarze linie angrenzt.
Das Problem dabei, entweder ich kopiere das rechteck mit der schwarzen linie, oder ich kopiere es nicht komplett, die folge: entweder ein riesen chaos mit dem schwarzen strich der linie, oder das phänomen, das das rote rechteck sich einfach nur verlängert.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
i:integer;
quelle,ziel:trect;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
canvas.MoveTo(100,100);
canvas.lineto(100,500);
canvas.brush.color:=clred;
canvas.Pen.color:=clred;
canvas.Rectangle(101,150,200,200);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
i:=0;
repeat
quelle:=rect(101,150,200,200);
inc(i);
ziel:=rect(101+i,150,200+i,200);
canvas.CopyRect(ziel,canvas,quelle);
sleep(10);
until i = 50;
end;
end.
könnt ihr mir helfen, bzw alternativen erklären?
mfG
Spiderpig
PS: man müsste theoretisch zwischen 2 pixeln die 'linie' ziehen ab der kopiert werden soll oder? (hier zwischen pixel(x) 100 und 101)