Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Canvas-Ausschnitt vergrößern

  Alt 20. Aug 2006, 15:52
Delphi-Quellcode:
var Rec: TRect;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 rec.Left := x;
 rec.Top := y;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Rec.Bottom := y;
 Rec.Right := x;
end;

procedure TForm1.Button1Click(Sender: TObject);
var tmp: TBitmap;
begin
 tmp := TBitmap.Create;
 tmp.Width := Image1.Picture.Bitmap.Width;
 tmp.Height := Image1.Picture.Bitmap.Height; tmp.Canvas.CopyRect(Rect(0,0,Image1.Picture.Bitmap.Width,Image1.Picture.Bitmap.Height),Image1.Picture.Bitmap.Canvas,Rec);
 Image1.Picture.Bitmap := tmp;
 tmp.Free;
end;
Also das ist jetzt halt ein Ansatz.
Damit wird das obere linke Rechteck mit der größe 300Pix*300Pix vergrößert dargestellt so wie dus willst... musst das ganze halt auf deine Kompo übertragen.

EDIT: Code verbessert. Geht nur richtig wenn man von links nach rechts markiert.. Ansonsten muss man das halt nochn bisschen ändern

Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat