13lack13lade Posted December 18, 2013 Posted December 18, 2013 Hey guys, Im trying to show an image in gui preferable bmp or png as it needs to be good quality and jpg just doesnt cut it, however i cant get the image to show... .bmp works in koda but doesnt work when i try to load it in autoit and as for PNG i noticed i have to use GDI plus? i tried writing abit of code and i dont see why its not working - what am i doing wrong? Global Const $IMAGE_BITMAP = 0 Global Const $STM_SETIMAGE = 0x0172 Global $msg Global Const $idPic = GUICtrlCreatePic("\\fbnecl3\inzb\Documents\Load Support\Tom\Projects\Dashboard\Charts\scorecard.png", 183, 144, 985, 577) _GDIPlus_Startup() Global Const $png = StringReplace(@AutoItExe, "autoit3.exe", "ExamplesGUITorus.png") Global Const $hImage = _GDIPlus_ImageLoadFromFile($png) Global Const $Bmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp)) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _WinAPI_DeleteObject($Bmp) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() GUIDelete($lscscreen) Exit EndSwitch WEnd
Reaper HGN Posted December 19, 2013 Posted December 19, 2013 I don't know for sure, but have you used a unc path for an image before? I have only ever used local paths which I have created as a resource directory on the target machine I am running on. I can say with certainty that I have used @scriptdir and a local path, but have not tried a unc or network path really.
13lack13lade Posted December 19, 2013 Author Posted December 19, 2013 (edited) Yep i use absolute paths for all of my gui' images and never have an issue.. it just seems to be with .bmp and .png i just cant understand why the .bmp loads in koda and not in autoit - ultimately i want to use the .png but i would settle for getting the .bmp to work. - i am still a noob so im going to bet money im doing something wrong lol Edited December 19, 2013 by 13lack13lade
Solution UEZ Posted December 19, 2013 Solution Posted December 19, 2013 Try this: #include <Constants.au3> #include <GUIConstantsEx.au3> #include <GDIPlus.au3> Global Const $STM_SETIMAGE = 0x0172 Global $msg Global Const $lscscreen = GUICreate("Test", 985, 577) Global Const $idPic = GUICtrlCreatePic("", 183, 144, 985, 577) _GDIPlus_Startup() Global Const $png = StringReplace(@AutoItExe, "autoit3.exe", "Examples\GUI\Torus.png") ;$png = "\\fbnecl3\inzb\Documents\Load Support\Tom\Projects\Dashboard\Charts\scorecard.png" Global Const $hImage = _GDIPlus_ImageLoadFromFile($png) Global Const $Bmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp)) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _WinAPI_DeleteObject($Bmp) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() GUIDelete($lscscreen) Exit EndSwitch WEnd Br, UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ
13lack13lade Posted December 19, 2013 Author Posted December 19, 2013 That helped me to understand - got it working perfectly, thanks UEZ! i wish you a very merry christmas and a happy new year!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now