Ich habe ein TImage auf dem man per drag and drop einen Rahmen ziehen können soll.
Da das darunterliegende Image nicht übermalt werden soll habe ich bei dem oberen transparent auf true gesetzt,
vor dem zeichnen des Rahmens (also in MouseDown) den brushstyle auf clear gesetzt.
Gezeichnet wird so:
Delphi-Quellcode:
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image2.canvas.brush.style :=bsClear;
if shift = [ssleft] then
begin
x1 := x; y1 := y;
x2 := x; y2 := y;
Image2.canvas.rectangle (x1,y1,x2,y2);
end;
end;
procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if shift = [ssleft] then begin
Image2.canvas.rectangle (x1,y1,x2,y2);
y2 := round(y1 + (AufloesungY/AufloesungX) * (x-x1));
x2 := x;
Image2.canvas.rectangle (x1,y1,x2,y2);
end
end;
Bei manchen PCs funktioniert das, man sieht also das darunterliegende bild und auf dem Neuen nur das Grause, bei manchen allerdings sieht man auf dem oberen NUR weiss?
kann mir jemand sagen warum?
lG Green