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/)
-   -   Delphi Image will nicht breiter werden? (Image.Width) (https://www.delphipraxis.net/10197-image-will-nicht-breiter-werden-image-width.html)

mandumoal 13. Okt 2003 15:14


Image will nicht breiter werden? (Image.Width)
 
Hi!

Erst mal was in der OH steht:

Zitat:

Die Eigenschaft Width gibt die Breite des Steuerelements oder Formulars in Pixel an.

property Width: Integer;

Beschreibung

Mit Width können Sie die Breite des Steuerelements abrufen oder ändern.

Hinweis

Bei Registerkartenkomponenten wirkt sich die Änderung dieser Eigenschaft zur Laufzeit nicht aus.
Mein Problem:
Ich will ein TImage zur Laufzeit in der Größe verändern (Höhe/Breite).
Allerdings macht er es nicht!
Muss ich es am anfang schon so groß machen und dann immer nur auf den teil zeichnen den ich sehen will - kann ich nicht glauben
Aber wie mach ich's größer? (kleinermachen ist übrigens kein Probelm!)

HELP!!!


mfg mandumoal

noch ne Frage: was sind
Zitat:

Registerkartenkomponenten
alle Kompos oder nur bestimmte?

Matze 13. Okt 2003 15:21

Re: Image will nicht breiter werden? (Image.Width)
 
Also bei mir geht das:
Delphi-Quellcode:
Image1.Width:=300;

mandumoal 13. Okt 2003 15:24

Re: Image will nicht breiter werden? (Image.Width)
 
Delphi-Quellcode:
Image1.Width:=300;
So mach ich es ja auch aber es geht irgendwie nicht?

Matze 13. Okt 2003 15:26

Re: Image will nicht breiter werden? (Image.Width)
 
Wie macht sich das bemerkbar?
Delphi-Quellcode:
Image1.Stretch:=true;
vielleicht?

Dagon 13. Okt 2003 15:28

Re: Image will nicht breiter werden? (Image.Width)
 
Vieleicht hast du die Eigenschaft AutoSize auf true? Daran könnte es eventuell liegen.

mandumoal 13. Okt 2003 15:40

Re: Image will nicht breiter werden? (Image.Width)
 
Mit Stretch geht es zwar aber ich zoome ja dann praktisch hin, und das will ich nicht denn dann erkennt er die width und height nicht mehr richtig irgendwie.
Autosize auf true würde einiges erklären ist aber nicht.

Noch Vorschläge bevor ich verzweifel? :( (Danke)

mfg mandumoal

Matze 13. Okt 2003 15:46

Re: Image will nicht breiter werden? (Image.Width)
 
Wie ist es, wenn du es auf ein panel gibst, Align auf alClient stellst und dann nur die Größe des Panels veränderst?

mandumoal 13. Okt 2003 15:56

Re: Image will nicht breiter werden? (Image.Width)
 
Gute Idee! :-D *gleichausprobier*

Bericht erfolgt.

nailor 13. Okt 2003 18:08

Re: Image will nicht breiter werden? (Image.Width)
 
Oder du hast dein Panel auf ein anderes Objekt draufgepackt (Stickwort Owner), das nicht breit genug ist...

mandumoal 13. Okt 2003 19:18

Re: Image will nicht breiter werden? (Image.Width)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kann mir mal jemand erklären warum dieses image (siehe Anhang) nicht größer aber wohl kleiner wird?

bitte mal ausprobieren und dann schreiben.
Danke

mfg mandumoal

Dagon 13. Okt 2003 19:25

Re: Image will nicht breiter werden? (Image.Width)
 
Es liegt wohl am Code im OnResize Ereignis.

mandumoal 13. Okt 2003 19:27

Re: Image will nicht breiter werden? (Image.Width)
 
Ja aber woran?

Lonki 13. Okt 2003 19:47

Re: Image will nicht breiter werden? (Image.Width)
 
Hallo, ich habe bei Deinem Beispielprogramm nur die
Stretch-Eigenschaft des Images auf true gesetzt und siehe da es ging,
bei mir jedenfalls.

mandumoal 13. Okt 2003 19:59

Re: Image will nicht breiter werden? (Image.Width)
 
Ja das ist ja schön aber dann ist es ja gestretched und nicht einfach größer gemacht.
Uns das will ich ja nicht.

Lonki 13. Okt 2003 20:43

Re: Image will nicht breiter werden? (Image.Width)
 
Hi,
war grad mal essen. Also damit ich Dich richtig verstehe Du möchtest,
dass Dein Image immer die Größe des geladenen Bildes annimmt?
Dann passe Dein Image.Width nach dem Laden an Deine Bildausmasse
an. Vielleicht so?

Delphi-Quellcode:
  image1.Picture.Bitmap.LoadFromFile('Bildname.bmp');
  image1.Width := image1.Picture.Bitmap.Width;
  Image1.Height := image1.Picture.Bitmap.Height;

mandumoal 16. Okt 2003 15:40

Re: Image will nicht breiter werden? (Image.Width)
 
Hi Lonki!

Leider lade ich keine Bitmaps und will die Größe des Image auf sie abstimmen.
Ich zeichne im Image selber mein Kram und will wenn das Fenster resized wird auch das Image entsprechend anpassen.
Aber das bekomme ich nicht hin!

mfgrrrrrrr...

Lonki 18. Okt 2003 00:57

Re: Image will nicht breiter werden? (Image.Width)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo mandumoal,

hatte leider keine Zeit die letzten Tage, darum melde ich mich erst jetzt wieder.
Ich glaube jetzt habe ich Dein Problem verstanden... endlich puhh, manchmal dauert es
bei mir etwas länger. Leider habe ich keine Lösung für Dein Problem, :cry: aber eine Erklärung
warum das so ist. Wenn das Image mit einer Größe von 200*200 Pixel angelegt wird, wird beim
Programmstart der Speicher für das Canvas angelegt und dieser vergrößert sich nur wenn man
zur Laufzeit ein Bild lädt was unter Umständen grösser ist. Das kannst Du leicht feststellen
wenn Du in dein Image ein kleines Bild einlädst dann überschreibt Deine Zeichenroutine nur den
Bereich des Bildes. Bei einem Grösseren Bild ist auch der Weisse Bereich grösser. Wahrscheinlich
kann der Speicher zur Laufzeit nicht dynamisch geändert werden.

Schau Dir mal dein Programm mit einem kleinen Bitmap in der Image Komponente an.


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