Hallo Forum
In meiner Gui habe ich ;
$_Pic1 = GUICtrlCreatePic("", 8, 80, 40, 40)
Wenn ich im Programmablauf das Bild mit;
GUICtrlSetImage ($_Pic1, ”C:\Bild.bmp”,"",1)
verändere, sollte sich $_Pic1 automatisch der Bildgröße anpassen.
Was muss ich bei „GUICtrlCreatePic("", 8, 80, 40, 40, Style)” als Style angeben?
Aus der Help bin ich nicht schlau geworden.
Danke für eure Hilfe
Picture Box automatische Anpassung
-
Silvermoon -
1. Juni 2015 um 10:30 -
Erledigt
-
-
Das Control wird immer die größe haben, die du ihm gibst. das bild spielt dabei keine rolle. deshalb musst du das manuell mit
GUICtrlSetPos()
machen.
zum herausfinden der große eignet sich gdiplus:AutoIt$hFile=_GDIPlus_ImageLoadFromFile($File);Bild laden $width=_GDIPlus_ImageGetWidth($hFile);breite speichern $height=_GDIPlus_ImageGetHeight($hFile);höhe speichern _GDIPlus_ImageDispose($hFile);bild freigeben (WICHTIG) $pos=ControlGetPos($GUI,"",$Control) GUICtrlSetPos($Control,$pos[0],$pos[1],$width,$height)
-
Danke dir für deine schnelle Antwort
Mit GTI+ hatte ich zuerst keinen Erfolg, Dank deiner Antwort klappt es jetzt.
Mir fehlte die Freigabe "_GDIPlus_ImageDispose"
Danke dirTolles Forum
-
Ich sags mal so:
Dein Script würde auch ohne ImageDispose laufen... Aber der Arbeitsspeicherbedarf deines Programmes würde mit jedem Aufruf dieser Funktion steigen, bis das Programm abschmiert, weil kein Speicher mehr bereitgestellt werden kann (~1-2GB). Dann gibts sone schöne Fehlermeldung: Error Allocating Memory ;DGern geschehen