DeddyH hat folgendes geschrieben : |
| Es kommt nun darauf an, ob Du die Breite des TImage haben willst oder diejenige der enthaltenen Grafik, die beiden können ja unterschiedlich sein. Wenn Ersteres, könntest Du es mal mit TControl versuchen. |
Breite und Höhe des Images sin immer identisch mit der, der enthaltenen Grafik.
Installiere gerade Delphi, kanns gleich probieren.
Danke schonmal
Gebe gleich Rückmeldung
Grüße Zero
// Edit:
So habe jetzt mal 2 Varianten zum testen probiert:
1.
Parameter wie davor als Bitmap definiert und versucht die Funktion mit einem Bitmap (woran der Fehler anscheinend lag) als Parameter aufzurufen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function TForm2.GetBitmapMitte(ABitmap: Bitmap): TPoint; begin result.X:= ABitmap.bmWidth div 2; result.Y:= ABitmap.bmHeight div 2; end;
procedure TForm2.FormCreate(Sender: TObject); begin DoubleBuffered:= true;
Image1.Left:= GetBitmapMitte.X(Image1.Picture.Bitmap); end; |
Fehler: Nicht genügend wirkliche Parameter
2.
Parameter als TControl definiert und versucht mit einem Shape als Parameter die Funktion aufzurufen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function TForm2.GetBitmapMitte(ABitmap: TControl): TPoint; begin result.X:= ABitmap.Width div 2; result.Y:= ABitmap.Height div 2; end;
procedure TForm2.FormCreate(Sender: TObject); begin DoubleBuffered:= true;
Image1.Left:= GetBitmapMitte.X(ShapeD4); end; |
//Und wieder ein Nachtrag..
Das hat Funktioniert, bringt mir aber so nichts..
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| function TForm2.GetBitmapMitte(ABitmap: TControl): TPoint; begin result.X:= ABitmap.Width div 2; result.Y:= ABitmap.Height div 2;
end;
procedure TForm2.FormCreate(Sender: TObject); var P1: TPoint;
begin DoubleBuffered:= true;
P1:= GetBitmapMitte(ShapeD4);
end; |
Grüße Zero