![]() |
Wo befindet sich die Grafik in der TImage?
Entweder es ist da, nur ich sehe es nicht, oder es ist nicht da. Ich suche die Position des Bildes, bzw. Canvas innerhalb der Image Fläche. Was meine ich damit?
Nehmen wir an ich habe eine Image auf dem Formular platziert, die Komponente ist 500x500 Pixel, das Bild ist 1000x2000 Pixel. Soweit nichts anderes eingestellt ist, kann man die Position innerhalb der Komponente ermitteln. Sie beginnt oben links und endet im unsichtbaren Bereich jenseits der 500. Nun schalten wir Strech, Proportional und Center auf True. Nun befindet sich das Bild in einem Teilbereich der TImage. Was ich mich nun frage ist ob es irgendwelche Angaben gibt die mir sagen wie viel Pixel von links oder oben die Grafik beginnt. Ähnlich ist es wenn man eine Grafik läd die nur 100x100 Pixel groß ist. Die Grafik befindet sich irgendwo mitten in der Image Fläche. Natürlich kann man alles selbst berechnen, aber ich frage mich ob es da bereits etwas fertiges gibt. Ich finde es zumindest nicht. |
AW: Wo befindet sich die Grafik in der TImage?
Eine sekunde in DP gesucht und das kam dabei raus
![]() |
AW: Wo befindet sich die Grafik in der TImage?
Ist nicht das was ich meine, aber trotzdem Danke.
|
AW: Wo befindet sich die Grafik in der TImage?
TImage hat eine function DestRect, die das effektive Rechteck der Grafik liefert. Die ist zwar protected, aber mit einem class helper kommt man da sehr einfach ran:
Delphi-Quellcode:
type
TImageHelper = class helper for TImage private function GetGraphicPos: TPoint; public property GraphicPos: TPoint read GetGraphicPos; end; function TImageHelper.GetGraphicPos: TPoint; begin Result := DestRect.Location; end; ... var P: TPoint; begin ... P := Image1.GraphicPos; ... |
AW: Wo befindet sich die Grafik in der TImage?
Delphi-Quellcode:
type
TImageAccess = class(TImage); // Grund siehe Vererbungsleere und protected gegenüber strict protected P := TImageAccess(Image1).DestRect.Location; |
AW: Wo befindet sich die Grafik in der TImage?
Für ältere Delphis wo es Eigenschaft "Location" noch nicht gibt muss man über Eigenschaft "TopLeft" gehen.
|
AW: Wo befindet sich die Grafik in der TImage?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz