Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Mit Bildern interagieren??

  Alt 21. Mär 2013, 11:00
nun wie bekomme ich es hin dass das timage auf der 2. form genau die stelle anzeigt.. auf die ich mit der maus zeige..? ist sowas überhaubt möglich?
sorry aber ich hab das gefühl ich konnte das nicht so richtig erklären ^^..
Na, du möchtest eine Art Lupenfunktion einbauen, oder?
Dein Lupenfenster benötigt folgende Informationen:
1.) das Bitmap des hochauflösenden Bildes
2.) Den Mittelpunkt des anzuzeigenden Bildausschnitts. (im Koordinatensystem des Bitmaps)

Ich würde empfehlen, den Ausschnitt mit einer Paintbox anzuzeigen.
Die Grösse der Paintbox ist eine weitere Information, die in die Berechnung eingeht.

Aus dem Mittelpunkt und der Grösse der Paintbox muss ein Rechteck berechnet werden, dass den Ausschnitt aus dem Bitmap darstellen soll.
Z.B. Mittelpunkt ist (200,200) und die Paintbox sei 100*100 Pixel gross.
dann ist das Rechteck: (150,150) - (249,249)

Wichtig: das Rechteck darf keine negativen Koordinaten annehmen und auch nicht über die Grösse des Bitmaps hinausreichen.
Man braucht also einige If-Abfragen um das Rechteck ggf. korrigieren zu können.

Zum Zeichnen des Ausschnitts auf der Paintbox brauchst du die TCanvas.CopyRect()-Methode.
  Mit Zitat antworten Zitat