Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Größe eines Bildes in TImage herausfinden (https://www.delphipraxis.net/52827-groesse-eines-bildes-timage-herausfinden.html)

TeTSuO 4. Sep 2005 22:51


Größe eines Bildes in TImage herausfinden
 
Ich habe ein Problem und zwar:

Wie finde ich die größe des dargestellten Bildes (z.B. Hochformat 768x1024) heraus das in einem TImage (Größe 640x480) mit Strech=true und Proportional=true angezeigt wird.

Image.Picture.Width bzw. .Height liefern nur die Originalgröße des Bildes ich brauche aber die angezeigte größe

hat jemand nen Lösungsweg für mich

Danke im Vorraus

Assun 4. Sep 2005 22:57

Re: Größe eines Bildes in TImage herausfinden
 
ich glaube das geht wenn du TImage auf AutoSize := True; stellst. bin aber nicht sicher

sniper_w 4. Sep 2005 23:01

Re: Größe eines Bildes in TImage herausfinden
 
Wie wäre es mit:
Delphi-Quellcode:
Image.Height;//

Stanlay Hanks 4. Sep 2005 23:07

Re: Größe eines Bildes in TImage herausfinden
 
Image.Height / Image.Width trifft (meistens) wohl nur entweder auf Höhe oder Breite zu.
Wenn die Höhe größer ist, als die Breite, ist die Höhe (wegen strech := true) gleich der Höhe des Images.
Dann nimmst du die Originalhöhe (Image.Picture.Height) und errechnest, um wieviel Prozent das Image (Image.Height) kleiner/größer ist. Dann nimmst du diese Prozentzahl der Originalbreite und hast die dargestellte Breite.
Wenn die Höhe kleiner als die Breite ist, machst du das ganze eben umgekehrt (Prozentsatz mit Originalbreite und Imagebreite errechnen usw.)

Man liest sich, Stanlay :hi:

TeTSuO 4. Sep 2005 23:08

Re: Größe eines Bildes in TImage herausfinden
 
Zitat:

Zitat von Assun
ich glaube das geht wenn du TImage auf AutoSize := True; stellst. bin aber nicht sicher

Das geht das weis ich !

Aber bei mir ist das so ich habe eine Feste Position und -größe für das Image
und brauche das Rechteck des dargestellten bildes! Mir reicht es aber wenn ich die Größe habe den Rest kann ich selbst errechnen. Ich möchte aber ungern umwege gehen und frage deshalb hier ob es eine einfache möglichkeit gibt das herauszufinden denn wenn ich Autosize auf True setze verschiebt sich das Bild an die linke Seite des Images, müsste es dann wieder anpassen und andere Sachen auch die daran gebunden sind, um es wieder dahin zu bekommen

Zitat:

Zitat von sniper_w
Wie wäre es mit:
Delphi-Quellcode:
Image.Height;//

Das bringt aber nur die Höhe und auch nur bei hochkant-bild. Es werden aber auch ganz normale bilder angezeigt die kleiner Sind als das Image ohne Stretch

turboPASCAL 4. Sep 2005 23:15

Re: Größe eines Bildes in TImage herausfinden
 
Strech := True und Proportional := True wird bei ImageX.Width bzw. .Height nur die akt. Grösse des Images angegeben aber nicht die tazächliche dargestellte Grösse des Bildes (Bitmap). Auslesen kann man das, soweit mir bekannt, nicht.
Das musst du dann selbst errechnen (Originalgrösse zu Imagegrösse).

Stanlay Hanks 4. Sep 2005 23:18

Re: Größe eines Bildes in TImage herausfinden
 
Sag ich doch :cry: Wieso ignoriert mich jeder :cry:

turboPASCAL 4. Sep 2005 23:23

Re: Größe eines Bildes in TImage herausfinden
 
@Stanlay Hanks

Huch, hab dein Post garnicht gesehen beim tippen ? Nix roter Kasten !

Jaja, sowas kommt bei raus wenn man lecker abgelenkt wird ....

TeTSuO 4. Sep 2005 23:34

Re: Größe eines Bildes in TImage herausfinden
 
Alles klar! wollte nur wissen ob es da ne Funktion gibt die ich nicht kenne.
Werde es aber So machen das erspart Tipp- und Denkarbeit:

1. Bild laden (Proportional und Stretch True)
2. AutoSize = True -> Größe holen
3. Image und anderes wieder anpassen das es stimmt

Danke für eure Antworten!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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