Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FMX TImageControl.Bitmap Größe anpassen (https://www.delphipraxis.net/179273-fmx-timagecontrol-bitmap-groesse-anpassen.html)

schotti65 24. Feb 2014 13:56

FMX TImageControl.Bitmap Größe anpassen
 
Hi,

das Bild vom Kundenlogo ist nicht hoch und ziemlich breit (B 1500 x H 100), am rechten Rand ist das eigentliche Logo, der linke Bereich ist mehr oder weniger unifarben.

Das Bild soll im Headerbereich der iPad-App angezeigt werden.
Damit man das eigentliche Logo immer sehen kann (Hoch/Quer), wird das Bild rechtsbündig (.align=alRight) angeordnet.

Auf der Form ist zuerst ein TPanel mit .height=100 und .align=alTop.
In dem TPanel sitzt ein TImageControl mit .align=alRight und exakt den Dimensionen des Bildes (.height=100, .width=1500).

1. Problem: beim Laden des Bildes (JPG) im Entwurfsmodus wird - obwohl die Dimensionen genau passen - das Bild trotzdem irgendwie etwas verkleinert, es entsteht ein unschöner Rand.

2. Problem: auf dem iPad werden _alle_ Formatieranweisungen des TImageControl ignoriert.
Das Bild erscheint irgendwie verkleinert und immer zentriert.
Versuche, die Dimensionen beim Start explizit anzupassen mit MyImageControl.Bitmap.resize(1500, 100) - in .formCreate() und in .formShow() - werden ignoriert.
(Obwohl komischerweise verkleinern geht, nur nicht vergrößern bzw. auf die richtige Größe bringen)


Hilfe/Wiki => leer.

Irgendwelche Tipps?
Danke vorab.

Harry Stahl 25. Feb 2014 17:58

AW: FMX TImageControl.Bitmap Größe anpassen
 
Warum verwendest Du ein TImageControl (und nicht ein TImage)?

TImageControl skaliert die Grafik automatisch in den zur Verfügung stehenden Platz, muss die Grafik also logischerweise etwas verkleinern, um in den Bereich reinzupassen. Daher macht es auch keinen Sinn manuell das Bild wieder zu vergrößern, es wird dann wieder automatisch auf den Anzeigebereich skaliert.

Wenn die Grafik nicht verändert werden soll, verwende TImage (da steht die Eigenschaft "WrapMode" zur Verfügung, da kannst Du die passende Einstellung wählen).

schotti65 25. Feb 2014 18:08

AW: FMX TImageControl.Bitmap Größe anpassen
 
Du hast vollkommen recht, genau darauf bin ich heute im Gespräch bei der Delphi-Roadshow auch gekommen (oder besser: drauf gekommen worden..).
=> Mit TImage klappts.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz