Einzelnen Beitrag anzeigen

Benutzerbild von Spiderpig_GER_15
Spiderpig_GER_15

Registriert seit: 17. Mär 2008
298 Beiträge
 
Delphi 7 Personal
 
#1

canvas.copyrect zieht 'schlieren'

  Alt 4. Apr 2008, 13:37
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)
---Zufall ist das Inkognito Gottes---
  Mit Zitat antworten Zitat