Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#7

AW: Icon aus ImageList ins StringGrid laden!

  Alt 4. Aug 2014, 18:47
wohl eher so:
(Klammern)

Delphi-Quellcode:
     X := (P.X - ImageList1.Width) div 2;
     Y := (P.Y - ImageList1.Height) div 2;

Wohl eher nicht! Die linke Koordinate des Image bekommt man, wenn man vom Mittelpunkt die halbe Breite abzieht.

Beispiel: Rect(10, 10, 210, 210), ImageWidth = 100, ImageHeight = 100

P = CenterPoint(Rect) = (110, 110)
X = P.x - ImageWidth/2 = 110 - 50 = 60

Linke Kante des Bilds ist dann bei 60, was 50 von der linken Kante des Rechtecks (10) entfernt ist.
Rechte Kante des Bilds ist dann auf 60 + 100 = 160, was genau 50 von der rechten Kante (210) entfernt ist.

Mit deiner Formel käme man auf:

X = (P.x - ImageWidth)/2 = (105 - 100)/2 = 2.5

Damit liegt die linke Kante des Bilds schon mal außerhalb des Rechtecks...


was irgendwie nicht richtig aussieht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat