GUICtrlSetImage mit PNG

  • Morgen,

    weiß jemand wie ich GUICtrlSetImage mit PNG verwenden kann. Oder wie ich ein PNG auf einen Button bekomme?

    Einmal editiert, zuletzt von m-obi (26. Juni 2012 um 12:00)

  • Danke. Damit hab es aber schon probiert. Ich will ja trotzdem den Button beibehalten. Also den typischen rechteckigen Button.

  • Versuche es mal damit:

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2011
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <Memory.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $IMAGE_BITMAP = 0
    Global Const $STM_SETIMAGE = 0x0172
    Global $msg
    Global Const $hGUI = GUICreate("Test", 600, 250)
    Global Const $idLogo = GUICtrlCreatePic("", 215, 20, 169, 68)
    Global Const $idButton = GUICtrlCreateButton("", 266, 150, 78 , 81, $BS_BITMAP)
    Global Const $hButton = GUICtrlGetHandle($idButton)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $Bmp_Logo = Load_BMP_From_Mem(Logo4_GIF(), True)
    _WinAPI_DeleteObject(GUICtrlSendMsg($idLogo, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Logo))
    Global Const $Bmp_Button = Load_BMP_From_Mem(Merlin_GIF(), True)
    _WinAPI_DeleteObject(_SendMessage($hButton, $BM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Button))
    ;~ _WinAPI_UpdateWindow($hButton)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $idLogo
    MsgBox(0, "Information", "Bild wurde geklickt!")
    Case $idButton
    MsgBox(0, "Information", "Button wurde geklickt!")
    Case $GUI_EVENT_CLOSE
    _WinAPI_DeleteObject($Bmp_Logo)
    _WinAPI_DeleteObject($Bmp_Button)
    GUIDelete($hGUI)
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;======================================================================================
    ; Function Name: Load_BMP_From_Mem
    ; Description: Loads an image which is saved as a binary string and converts it to a bitmap or hbitmap
    ;
    ; Parameters: $bImage: the binary string which contains any valid image which is supported by GDI+
    ; Optional: $hHBITMAP: if false a bitmap will be created, if true a hbitmap will be created
    ;
    ; Remark: hbitmap format is used generally for GUI internal images, $bitmap is more a GDI+ image format
    ;
    ; Requirement(s): GDIPlus.au3, Memory.au3 and _GDIPlus_BitmapCreateDIBFromBitmap() from WinAPIEx.au3
    ; Return Value(s): Success: handle to bitmap or hbitmap, Error: 0
    ; Error codes: 1: $bImage is not a binary string
    ; 2: unable to create stream on HGlobal
    ; 3: unable to create bitmap from stream
    ;
    ; Author(s): UEZ
    ; Additional Code: thanks to progandy for the MemGlobalAlloc and tVARIANT lines
    ; Version: v0.96 Build 2011-31-12 Beta
    ;=======================================================================================
    Func Load_BMP_From_Mem($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    Local $declared = True
    If Not $ghGDIPDll Then
    _GDIPlus_Startup()
    $declared = False
    EndIf
    Local $aResult
    Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
    $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents
    If @error Then SetError(2, 0, 0)
    Local Const $hStream = $aResult[3]
    $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    If @error Then SetError(3, 0, 0)
    Local Const $hBitmap = $aResult[2]
    Local $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _
    "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    $tVARIANT = 0
    If $hHBITMAP Then
    Local Const $hHBmp = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap)
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
    EndFunc ;==>Load_BMP_From_Mem

    [/autoit] [autoit][/autoit] [autoit]

    Func _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    Local $tBIHDR, $Ret, $tData, $pBits, $hResult = 0
    $Ret = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0)
    If (@error) Or ($Ret[0]) Then Return 0
    $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $Ret[2], $Ret[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    $pBits = DllStructGetData($tData, 'Scan0')
    If Not $pBits Then Return 0
    $tBIHDR = DllStructCreate('dword;long;long;ushort;ushort;dword;dword;long;long;dword;dword')
    DllStructSetData($tBIHDR, 1, DllStructGetSize($tBIHDR))
    DllStructSetData($tBIHDR, 2, $Ret[2])
    DllStructSetData($tBIHDR, 3, $Ret[3])
    DllStructSetData($tBIHDR, 4, 1)
    DllStructSetData($tBIHDR, 5, 32)
    DllStructSetData($tBIHDR, 6, 0)
    $hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0)
    If (Not @error) And ($hResult[0]) Then
    DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $Ret[2] * $Ret[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0'))
    $hResult = $hResult[0]
    Else
    $hResult = 0
    EndIf
    _GDIPlus_BitmapUnlockBits($hBitmap, $tData)
    Return $hResult
    EndFunc ;==>_GDIPlus_BitmapCreateDIBFromBitmap

    [/autoit] [autoit][/autoit] [autoit]

    Func Logo4_GIF()
    Local _
    $Logo4_GIF = '0x474946383961A9004400F700009292924040406A6A6BE1E1E1CDD8E35689B66499C6C3CDD8BFBFBFEDEDED3A648DDBE3ECA5BED69AB1C75A94CC33333579A3C8C6C6C699BDE0AAAAAAD0DBE5E6ECF1A7C2DD949DA67F7F7F848484F1F1F1B0B0B0B8C0C9E8E8E8FCFCFCA3C3E2212125B4B8C74C5863D5D5D5F4F4F45B687471727246719A515C684C4C8D00004236367C989898A0A1A1A4A4A49D9D9DCECECE8B99A55B5B5B6795B9B9B9B93647578BB4DD677684C8C8C800007B92ACC5606061A5ADB54365868D8D8D9ABBDB5252525783ABD9D9D97B8894C1C1C12A4764548EC757799979818BE4E4E499A2AE00006A000024010134D1D1D192B2D1707B85ADADAD416C96C7D2DC83ACD4A9B0BBB6B6B6000054E6E6E623237994B9DE7CA9D3606C78838C94ABC9E6DCDCDC49494A7DACD9000073FAFAFA65717D4D83BA9BADBE87919B56636EA8C6E343495627384A8AACCD3A5269749AB972A4D38989892A2A2ED4DEE727415B4B7DACF6F6F6CAD5E0F8F8F80000128787A74B79A2111111233C54EBF0F493A2B0BBC5CF9898B9181B26527DA6EAEAEA669DD06187A8C3C4D099B5D293B6D834537118187C344B616DA2D4333A4344515D9AA7B3DFDFDF8EA3B8797979788CA09DC0E2889EB48EB0D247617AA3B9CE0000609EA9B5385E8435597DB3B3B37691AB5B91BE9EBAD585B1DBD6E0E9AEBAC41B2434ABB6C1'
    $Logo4_GIF &= '67678981A4C26B92B00707071010317F868D90979FD0D2DB405C783C5E7E729EC44679AC3D5A751F34496DA0CC1C1C69B1CCE850719185AACD9FB6CB4374A233404DE0E7EE5959847375769599A1666769A1B4C6B0B3B52424562F51730B0B7D7A7AA724303B3154770D0D7693A7B9BBBBBC707981487DB1A7A7A781A7C93D566EAECAE70909648EA8C179A6D00C0C4E1414454F83AFFEFEFEEEF3F6F0F4F7B1B6BAB7B7B7A0BFDDA9A9C3C4C4C41019227AA1BFA1A7AC628FB34D6C8943437445457FCBCBCB2E4D6BA1A5A8ABABAB7C7C7D9A9A9B5089C1E3E9EF3B3B5FE8E8ED6B6B9F77779075A7D678A9D787B0D669839B90B8DEE9E9E9D9E1E9D9D9E110106B0E0E28000000FFFFFF00008021F90400000000002C00000000A90044000008FF00FF091C48B0A0C18308132A5CC8B0A1C38710234A9C48B1A2C58B18336ADCC8B1A3C78F20438A1C49B2A4C99328538ECC92224F1E532BF6E55049B3A6C71521FCE9F4A0E10B915E326D0A1D2AD1984E7FD8EA9020A101DF8816C3C4CC244A9564B22C2B56982BB7228BA264530DE6D9A96190D9B3589E460D5BB56D4645E6F2188257A76E1D0D09060D88F0AB5716B00353E8AC93B785A475EBE0981D80234335316E23572CB6025082A3FE3C8CA9BB5429DE0123D4F5AA95A3183C7F2406E11B14E001302001F0C98664454D26B692732F3467E8A80712793B081F3E1C'
    $Logo4_GIF &= '5FDE244288E4019439816C7C6004747821038BF024E724595BA2BB7BC22C397502FFC7475C3896F3E8D377B04E82307104113A6400323CC90816A46E7BDF3F301E369D4D61914412907CC3822F2838A2A0083B20E1020C034698846C024A9884000F5871DE802338F3C01590F1D75D32DE88874F84060A20020A687071C38B379081060A22F8E2821316E698040B0F0010E100424CD0880A218A289922ADE8944007032E83810868DC30440C7E286386190D5CF9C80593DC80C60E2C40A8230D3424E1830C03A4095A0B0F1069E491FAF873073E699EE3030A5C4CE90796C1E482C99F98E4124C968FF83144093BBC20849A6A060046121880A126247692E2E69B6D21895A12696E000C1A7A36100C260C946AAAA9810673A51243A0B14E048C0EFF00061000C8000624690A818000AA5CC11DA655E544028190B4800219675462869FA55AE0AC05693C8B6A2E84C6C00530CB40A22D24EB082089091968FB050C2D04D0C4153389A1C2BAECB67BA96EEABAABC2152119830D09037CF1450B22901143240DE4020A03DD3C9BC6C1083BDB0D03A0506B86327E9450020DFA566CF1174E74024C202A64F28F18206020F2C8246300C2AF92815CB2C83BA8F0D10A1AE0ABAFB125FCDBC0210377F3C107087B114D345E1CFC8105DD7403CA210DE8A04C0C9708B0CCC5FA0A014327BEC471AE54990480D9D63A81A1026E132D91C9'
    $Logo4_GIF &= 'D864A34C51D65CFBA30E1EE992ED3645C518320616420489023493008C73D11FE8FFFC81175E58306A1AD1A4B173DF3F1CDDC034914CD2860944D45DF7084E7CE3820056ABB0C44C2A6090F6515FC8D004D8115DF14000A8A7FEA145686F3D40067888B10408A9D7DEC444BDD4318810232060C2223744A2C32187FCD00D25C8EF9C8B12EA188280386658B03325DD48F003224F285D09396DC031C2F7239CB341066080D084E65335E1C3E7A8E1000C134552C404025CD3C07645AD1FA5C1AE782CD139D71EE807E914528C566800129483431B2EE1091D3C01113F90800491478948B0A2157DC8A03B42E08743204F823FD0C2212CC1387B40030D2E001F02E0400A7ECCEB365399DF51B041C3FF604303D989DD456488993AB040870611C315FFD8E5AB83E42F33F8E0860062F7BFAD9DA31F666B480A06619F117402056D384225D8F0402D684182129CC62AF2D1876C68431B7DC04229620046097811119660C3293CD18336F822024E70C23224E1C24C4885207880816FEE70070FFCA70E4E70011405228626F4E39190EC47131A1949484E92873AC1C600D881077411E40A4C00011046B68307F4E35DFF38A20792B844FF790E331DC0413F4004912A2440084E804106167189429C820D96B8873085A9857B0CE10F1528E319B35101399CC113C51CA60D2C818B3992C31522B8911388000052D0B220FDE861023470'
    $Logo4_GIF &= '87FFDC61042E4885C7FED1C4AD9DF295EEDC43000499C9DFE000757B0851131E40FF3FAE2500037B70994054994413E0810901680166789200D49DCC2159C0552EAD80824490A3101060433D6CC0D17BD8E01EF6B8C0022A90CC0CF6A1020BF80617DCC0D196D60317CF98C12D7AB0086644000638880210BE3990D9F946031DD8C01874728720C541A0ED3C0A0C24094FD0F5436BEC234123E8D5841DB04F279078C0ED5209D59D14140FE1641F364C30BA86F402393080010B6AE08A1314001654A84728E63A574F904114BCE0853B484A5277F082024AE00215E81A0A2A6C0102E338420F6481820DC0E01C5630812AA2983F0F24001251B8834EC630804E988B734DF5C7085EC0D4AD8D200A4FE51A367E23844E1C55054058286892A0D9A3FF24600F1E2328370C1A56CCAC165FCB00C2241BA2840138E11CDFF045117A70840218600B61886E742180020E2C80170B58403EF2915DEC8AE200CC388274C3400F6A40A0008290822C16C18273E000013EF0265BAE60D5CDA6050E24D8490782CB04D0628604110040698F42021CB023B548B1611D20B10C00F802042AC003248E72077201A0130318AA9232D05F824616AC3BF94F663A60205F04007E0C49C639BE708E73744204E8E8011D0AF08937CC831E38A6C72D582187EC8A620A7FE0C00128B0DD7C50A0142238023DE6C1E4371800BD279045112441847310E1'
    $Logo4_GIF &= '05538D5F3BEFC01801D0209309888024749854000BB8094D35733F40D089248CE1FF3F9625C23A1CAA8207602601914D451C06E19B2410610F62EB2A129578D00D38810422462400C01000F3C50F215970C20870F00D76D420115298F1271CC0883774FA165C2080284421870354E10CCC50C21F082007524F81158E3040A71941080740F9154540C304704004670041730461C20628AC2B192C83C0E7801D64CA1CE0018B27023E38251EFA39E24E00010F78389F097C13D41D80D83703B0C25175BB44153021CD1158473FB2AD9F85AC20971158C62AE6908813CCD8080E2004211821885DFC61D43F2E45AB7621021E1C800014900305FE500259E8BBD64628001D4EB0097438C20711F846147630D96053BB0E23B0C2038E3D1827B46091CCFF3E33BAA3BD044C7AA0039DF0762696A03E6E776289BDF5C71820B101E192BB7F65FE46066629864723A4178FFD8615B830074E64BA1DF87680030CB00825249C027618C519D0D00868D4000AA39802C2B15E8A5DF440EA0E30423B265EF11AD894085100862ADAFD0F3C5C463C3098C003E0794E67EC815E2977366AA00D459777C00AC0E8DF3F0CFFE19C8FE10BEA000313AE20E85512DA95FFFD06CB1F620A1C4480081B4041D34F108B321821EAC8E0821D144E010E586B173598F83162F007B153800007880129E89076B5B31D1D73E002111010055ED13DE71A8840'
    $Logo4_GIF &= '0B5201CFC747E1A8EC44B7CAFF4BF89653DBF2AD5CFCF5BFEAF82F4C40F2945F28FF2B81BEF2453A441E9426C28B9B2E85D29FDE010AD8C590294081033CE2063558C3098C608057D4C0E004807004C001685004A7670465100BBA50717C800644B00CEA20599EC45533940008C002FDB06D9B950456205C39107868467D2CE772E3C71D24B85BDFB6595FE00CE0577925C86C9B777EDF8000CBB07E4E577A505706A4F00863676A482002C7200BCE956F6D40067F6007014800535076E8707A65D00C52C08068408313200081308195850F568001088644082003F00382E5677DBE5182DA578628D87D2C38792E787930687E0D610A345883A27783650075E8000576407F5977065CD0088B70028210048428086BA009489884077001A42005EDFF908052C009E8C0075CB00C34E00C72F74DEDE40158D009062568613666EA227D82076023B87D84061927C85B98F1786B187E68D84A6F18450A610EDC40269DC0057C800C0A100BCDD00EC8E008F347007FA00450A00635407028B08C342202CCB087B717807F40067C500690C80945E07634C00D2EC0711358733B3108D0860776466030E003E4477DD34760D57782D9B78A29A8732BD882E2E78663F810EFD009DB6805ABC007C4A000BAD00C0A400A1CD0839A307035F007B7178D49487FF4178076500A6A5004CDA00B0A800C73E0085D40039DF00240D02B31446DF7'
    $Logo4_GIF &= '820FEA967388A44898C78EEBF86CA7188B8A078F6A488F2E99922C09870C510B51FF40035660052F3007E8B009BA100BB31003D0B884674006B0A709A2905D4CA95DA4E6900E79007E400AC46091C4C00725D00256B00100602EED1648574561233001203044A41882ECD8925E757967B896AC7814AE28936B298BF7E810C9A0959D60052F56044E3707287070F5370AAC70036AD0064840014C59644F490076300507E098077000A30005A4B00992380BABD0099D300119A055EBF40F3977558FB7016D2286225878A8B844AA888A6FA982AFD88674799AB498103980041BA0999D0005FE5804C71076A5B02547A9207F596A1C509CC5390AA3500A55C0039AF0084AF09C7E700143B00BB38091B330011BB0012D60021CF32B20B3353494361EFF90043400044C609A69899A33D99683D69A3A27042E209783169BE9399B089103E5E00CD9B901CEB00645000E25800432C22209D20835D0054A7001ACF00B17D0A00A7A065D80045040065C500233B28C0A12087CC0078EC00D1B10052C2003FCF04D4794141DC03B5F3008750067834004EF8396CFB69283A796484403EFB87D34E09EE7C40E27068B73998E04860331E810B5F002EA909DDC200273C007A4000E81400A507A0C6B7009B7C0225CC00C48B00A5DD005AB80043750020952038D700CC700A581000EE0400A7C300B5DD00951E00C70602EDF445F0BD50108'
    $Logo4_GIF &= 'C00E00E00C3090001E80141A8003EB906D69760E2707A333AA9E3B9100446050AAFF386C604604189082F7622756F37334891A307060F68910628001CEA00E51B001BF300BE8C0090A20057A700D055000E36000D44005C084330C6001A572343AF00CB0E00633F00905700D7A609545C007BBC00D51A00E2F6002E6D36E49350623C0A30F00062CA00147510730405A867A073E518AED2892242004E8C81DED742F42C049BD655934B00E10E6A3F309A444C56036C91039F00EECE00C13300134A0A4BC4807EDB069FB360F61F05112F037D1600BB650381F2001F7100A61F006846000B6460752609D6DAA0E2EE00360E04245226C3D748E817050BE8019E734017B60A83CA10101D00FD476A864F8534900029244A709F61B1E204FD33AAE3BFFD00F63039BEC9A19780104FD30790FB10F19D002F47AA4FEB90927700DED6000B2E6AF36A0059420B0046BB0081B0A5BC0B006F009D76091C12A02CB3001CEF00255732E618149A8710E700061D72A04EA7054B1954957658A50D4042FB0137D8A19EBD0047B800531F3660034001BE00B0FD03F960AB31E6048984103FDE510F10A002E50AF9DB00AA40A90D7F00906400B6F1006A1F045526B0B4173B0F76058B490B5BE2A0557B906C2F0A62D0007170B6C03D10FD28A0D099000E49901E0B02E1A88171D0003CE602E7B4018E3C41483D00109300677801709300034'
    $Logo4_GIF &= '30744B70053290045F000958304E840103A2D304020003233000095007FF359692FF0004A94024AD031C83101A89B70420D301FA920483D0BDDD0A0740D410D2E00BECE002CEE00C088006FE88AA957BB95B500F882001510B389FDB0D5A6003610001B4C0AB10CB0973300B67D009CEE0022C2000E6C353A0E90F426005EA30012E0007C080B359830F1A07B6EC800127D604BE408308800056D0023E80013B30015150AF212C008B746E2EF002F85BAF2FA0C24CD07226F0B856800038D0620830013E200060B0074C701B59F3A71B00B6417C6DDCD1044010B6443B01140B0732A0788C3B0C1970BF2EE002CB20027CE0747A1004960B01010C41517B38088C0854C0C03350007A2005B886993470C6EC30672E643659430334BC0332200340FFE0B362F300CEE00B889CC840207999D004329001DF22003210007BD008C080C888BCC88B9409080504897CCA40F000F0D372AE6102BE200992E00B02B00360F000A930793391090FA00E9210C98A0C068A97034D1007B372CABF2CC60E21066AE0032FD0022DE0020880026B8CAA41D0AAB0F00CF5F0403FB0CDD7134710000B335008E9D5C7ABB00CCECC0EF3C10F4D407702E14895F44843FC0FEE5C497840242DB7077190CF7B70504CF0CE3FEB9D11F6CE930719C28C077B0002F91C0720B007EBD6316131CF91946D21920357806DF43C5C0F9103D2B0033EC00ECE'
    $Logo4_GIF &= '0CCDFC9B080AA00782300E33000BA7800B5CF4044F1047CF100E6E300E41A0073DFF808D6BD005E6DC022F00C6193C9BB2B304401DD49BC348421DD47F940334C704E739734557D4401D1639D0D445FD478C34444ACD04E7C3D4B8F1D353CD1651EDD4549DD1D520001DEDCC2D4004675003E8F00AE4A0078560D26E100EA730D7E100D3A820CEB7F00A89300722B001DC70CE3EB00371709E430D12511DD61B91038A5D74882D1462600D020007ECF002CDAC8F25406F3D400E47100485800A9EEDD9855008473053EB550343100113A0D32C000782BDD403042C91F1D83B90010040D93EBC0C51C0058B9008AED003B77004C00DDCB7400EAF000D8B000D4850833A8DA718200371D047AF0DDBB15D0D4020093EC002B68DC6CB70013780456DFF000DB2200BD0F0DD6880043CF00D9DD00293CD023E10BE20B0D44627DDDD21440F2000B4CD02EC90DF2F30011E9A0EBFD00543D00567F00B3CB00D56D0C32FC00E2C000019000C011008591DDDF29D3299600D60002E00C002F83DD9CE200CCB4004208E0034C09F09AEE00C6E0240F0DCE753D813FE26B2530DA400042680013E90E11B9EDF389EDF1A0E00332C0029AECEF3D2D82D2E22519D09D5100801200326B00E19E003350E0050CEE33E9001EB60029BFCDC2E7405EC3CE4C052E457A00AA4F0AC40B003C0200066FEC993DC688100E45A2EE45C8E298B9D0957'
    $Logo4_GIF &= 'F0E5AAA00A4F0A02A4000281A00AEA7C3E73AEBE12FEE698D2D4723EE7EB32447320EE2B802EE88C5E108A7DD88C5D748ADDE8945EE9967EE9989EE99ABEE99C1E10003B'
    Return Binary($Logo4_GIF)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Merlin_GIF()
    Local _
    $Merlin_GIF = '0x47494638396144004700F70000FFFFFF1831711C357D182D6D1C3982182D691C35791C3986CACACA1831751C3D9614246118316D14286914357D1835791C398A183575204192142D65C2C2C2BE9296142459203D92AEAAAEC69A9AB2B2B6BAB6B6CACACEBEAA41142D7520398A395D9618358614317DA29E9E1028751C3D8A0C2455797979A27D7918316941699ECEA2A23D4955101C4955595961656100041C86828214358E182861B6A23DEBEBEBBEBEBE142D71E7B2B220419EB28E8E10246D2D3959DFA6AA10245D8E8A8EA29641696969CAB241202D49082065C6C6CA0C1C516165556979927D61616186B2183179AAAAAAC6C6C2969296DBDBDF243D718A71712031591C3582DFAEAE8E7D86A2A6A6314579866969AA828214285D20316910246592928E1031860410353D5D92F3F3F328499A14399A14203D3539497D754986868E0C2059A28282E3E3E3081024AE9A3D967171454545355992494D61AE8A8E7175797D869ED7A2A26555554D4D51B69296DBD7D7394969928A4D555D65D7A6AA8A7D39142855CAA6AA203982EBCACE5D6569AE9A359E9E9E715959183161B6C2DF5186C22D4169928A55414965BABABE615971AE9E9E0C18394559755979AAEBE3DF31498A5179A22439694159A6313128A6964D9EAABEDFBABE314982514924081849495565A696396969610C287D453535203571968286717155'
    $Merlin_GIF &= '7171694571A64D5D861C3D92D2BE41514141DBCACAEFB6BA49393D24459A315586394561082471C6B649614D55B6AA5D1C2D59BE969A3D49717D7959614949CAB2AE514139244186E3C6CAF3EFEB756935797965867D55595D4561758AFBBEC23D659A1C357161551CBAAA49413D456D798A7D8282617DA2141C35000C2820283D24418A79753DE3DFDB24395D9692695D6986283965B2B2B23559968A8279FBFBEF8692AEEFD74D516D96C6B6559A8E45353541A69E5D82615D967D79454531D2BE4D92864561869E14244D554D456D6555393D555D61613159A6B286867592B29E8A351C316DF7FBFBFFC6C665757D1C397D555D7DCECACA1C3979182D71BEC2CE4539206D611C866561FFFFFF21F904010000FF002C00000000440047000008FF00FF091C48B0A0C18308132A5CC8B0A1C38710233E74674CA2C58B08C5E4B8900F16C68F1651697C152011C8930E977DD3A6F100CA970BC5C9C92166D92431307316540149C2AB1CDE64EA1CFA2FDA87483968CE01878E684E246A7E591A9369DBBE664E5F669254E357264BD3BAE2819715243C0A3FAA90DA45CF519518562894FDA8A451851E3DA8E0C0DBA34D3D25733156A0A32990AFC281FED02115F862333AACE6593A24F550183EB71A5BAC42C7579843785A1D7A52435306249A1F12BB1567452B568134E10864184706478C5333248645C70A3E545A151BDE8A'
    $Merlin_GIF &= '0F9F0C59C645D2BD70CE381D192A00C7419DCA0AE851A200669E905B1B1D59A264FFD171A7C29D3869B0544893663BF7834AD2E878A7AE1096FB5892D4D185FCC77B8555E8E0883AAEF0B2CA81AE8812C31F59CCF15F4255E013060241ACE2CA856E7451430DBBA0F6E0418CFC5243183570D0055C4F90D855261F1AC44D586AE0F1C4346AA8F1C41378C818A3832D0E840D1E1C144101214EFC10430C4E60C0880D08E063458F0229C10436D830614A21B75041051F59D47186154C6060857B1FCE51A413419CB0CB1F155470CB1F8EB473C20F3F10D2548F679C70423B31E0C301051B6CC008051CD810449A319C01A529EDB8C00C0708441A24A44D3212840B413003252EE198B2411191861AAA9056B4C303253D9E3204343130C108A8A246FF4A81065604F185212DBA13CB258F04E1043636C03A2A234CFCA0CC1A5FE4F3E03DB598334B1F6EC44008B0C2526003064E9832C4140494100D18DCF522432DDD74534D19A074C1C4061414E1AE0DD88C10831B054860EF0507BC919A0AD1C880CA37D598730509653033EDA0D6128BE6B6537C7081BD074CD258360294708135937821483B32D8F282BA1BD8400123D8101283324B8883CB14164B700104F69C52960A0F5C60732A1008E0413E071C50C60907DBB001B62E4C708F399E784080C33643207156BD9470EF070404208F008094F0801D203342EB093CC8608A'
    $Merlin_GIF &= '397AA4B0440810A4F28A045364E3943153D82B412A5E3CD04002F6007240098604FF31ED06D83861C703105C318B10476CB1C726D5D4A3C0058038958FD46B07014A0A2CE0220001807C00010F3160808D152FC853C20121E4A20A382C60924C300AACDDF650F55CA1B602F5D4D2411FEB94620FE77B2F01C70818FCC043CF3D8B20CCEE8360E2F0BDBDE8D40C2EA9DC1B0D208B00B345289BEBBD770A273001C7143D0302880022E4314C1F1D4002814F1240103D4C9BBC7F2F014B7051C60D09189037F221488420187000F3018200F610C0120AE086580822040FB3D71440F01228340010AF78C5053E20007DF8410AFA08C0037EE73DADF9E0000448E10113688014A4C30709C89A4F2E20002D80EB24D780C11A5A6080541CC00033184201FF18C0800808200421F0DE01A7600F6EA590850C68413A182000089460028F58C31A6E884318E8900706F0C0AA0650800124E00182B84212CD470001B8F1776D34C00306E087474CE0015080C61A74C8459424E20BCEE045387CD0023F04A000050880084C910C35AED08D6E4CA1000C60802D68E11146B0052F44B10632F4112588384521508002657CA100FA2840031409095528220492A42424DD28823DB8800B8F20C328DB0087ACB4860A7480430306708D44DC2014B998C52C1E294B01E4037DA1D0830B88900E72E0E0388A220A12B290811564200EF220A6191251'
    $Merlin_GIF &= '8A0ECC2219BF73A32C45100C458002141D580711E0E0CD1554801CA81A0A12DE91FF810CD4E116A318C004A4C1860E744008C110813A2949497B2842151DA0011086D18834446105B7408153908002D69021035018400358400321084118906428431F600045449406D2684414D8B18238A0603943B1863FB2F38524E0A2003358C0223CE10903A4F4014865E812842104894A610FEC18421AFC5108A750A20E3B8506341800542D34C0032260E94A2380D40788E00542D0831ED8C0834E7CA10EE4488237B2428946D022099C40A416B45080049075AC11202B4BDBF182048C420F7048072D0AA18BB9CEC50EC0E0C43576E003BE06E0AF728C4002361BD80878C00309F040256231047570E21E8808CC30E2818C3E9881053E48A45FCBBAD900FF6CF6B6B5D5470386800C7E78642E8860413FFAF00970B821B60CB02D529790800038D7B9B7752E5787C08974FC762E9740C627CEB10534F035B99BBD022E3C10007DDCE0B9CF256201A4A08E4E5C372B60E0871DCC30081E547688B6F5401E30510912546211E7452F03C8A88572E432302A4807170A60063BA0C102654CAE7E69908B2300C11301962E570B5060673C2230C630C1041A90026A5800C22918803E46E10920B08106A5B80111931B00F572D80816480788455C8009CCC0027C2D803C4A01840EB0E1C87990F18C67ACD774580057733184052640E519F821'
    $Merlin_GIF &= 'C80CA8C41ECC70641A80A312FA604098990CD47418410B08DEEB0C66A0852B237269C0B258041BCE710433B840C9649E409BAFA002CDC0020A50D0420BA6FCE61BC0810D89D8C10EE4B1641B4FC0022A482D734E01060BC416913758443B1AA0CA05AC79060D6840507D9082147C48056F28B53C183D80141862132088B5AC63FD069941E9D6B84E484000003B'
    Return Binary($Merlin_GIF)
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (26. Juni 2012 um 12:08)

  • Also Merlin ist weg, sobald man mit der Maus drüber gegangen ist (Win XP).
    Hab die _WinAPI_DeleteObject($Bmp_Logo) und _WinAPI_DeleteObject($Bmp_Button) mit in den Case-Zweig genommen zum schliessen.

    Super Danke.

    Edit: Das _WinAPI_UpdateWindow($hButton) hab ich auch noch mitrausgenommen, brauch ich nicht.

  • Nun will ich aber nicht die PNG's in Binärform mit in den Code packen. Womit bekomme ich von den PNG's die Binärdaten als Rückgabewert?

  • Du musst das Bild laden und in ein HBitmap umwandeln.

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2011
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <Memory.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global Const $IMAGE_BITMAP = 0
    Global Const $STM_SETIMAGE = 0x0172
    Global $msg
    Global Const $hGUI = GUICreate("Test", 600, 250)
    Global Const $idLogo = GUICtrlCreatePic("", 215, 20, 169, 68)
    Global Const $idButton = GUICtrlCreateButton("", 266, 150, 78 , 81, $BS_BITMAP)
    Global Const $hButton = GUICtrlGetHandle($idButton)

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $Bmp_Logo = Load_BMP_From_Mem(Logo4_GIF(), True)
    _WinAPI_DeleteObject(GUICtrlSendMsg($idLogo, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Logo))
    Global Const $hBmp = _GDIPlus_BitmapCreateFromFile(StringReplace(@AutoItExe, "autoit3.exe", "Examples\GUI\Merlin.gif"))
    Global Const $Bmp_Button = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp )
    _GDIPlus_BitmapDispose($hBmp)
    _WinAPI_DeleteObject(_SendMessage($hButton, $BM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Button))
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $idLogo
    MsgBox(0, "Information", "Bild wurde geklickt!")
    Case $idButton
    MsgBox(0, "Information", "Button wurde geklickt!")
    Case $GUI_EVENT_CLOSE
    _WinAPI_DeleteObject($Bmp_Logo)
    _WinAPI_DeleteObject($Bmp_Button)
    GUIDelete($hGUI)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;======================================================================================
    ; Function Name: Load_BMP_From_Mem
    ; Description: Loads an image which is saved as a binary string and converts it to a bitmap or hbitmap
    ;
    ; Parameters: $bImage: the binary string which contains any valid image which is supported by GDI+
    ; Optional: $hHBITMAP: if false a bitmap will be created, if true a hbitmap will be created
    ;
    ; Remark: hbitmap format is used generally for GUI internal images, $bitmap is more a GDI+ image format
    ;
    ; Requirement(s): GDIPlus.au3, Memory.au3 and _GDIPlus_BitmapCreateDIBFromBitmap() from WinAPIEx.au3
    ; Return Value(s): Success: handle to bitmap or hbitmap, Error: 0
    ; Error codes: 1: $bImage is not a binary string
    ; 2: unable to create stream on HGlobal
    ; 3: unable to create bitmap from stream
    ;
    ; Author(s): UEZ
    ; Additional Code: thanks to progandy for the MemGlobalAlloc and tVARIANT lines
    ; Version: v0.96 Build 2011-31-12 Beta
    ;=======================================================================================
    Func Load_BMP_From_Mem($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    Local $declared = True
    If Not $ghGDIPDll Then
    _GDIPlus_Startup()
    $declared = False
    EndIf
    Local $aResult
    Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
    $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents
    If @error Then SetError(2, 0, 0)
    Local Const $hStream = $aResult[3]
    $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    If @error Then SetError(3, 0, 0)
    Local Const $hBitmap = $aResult[2]
    Local $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _
    "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    $tVARIANT = 0
    If $hHBITMAP Then
    Local Const $hHBmp = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap)
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
    EndFunc ;==>Load_BMP_From_Mem

    [/autoit] [autoit][/autoit] [autoit]

    Func _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    Local $tBIHDR, $Ret, $tData, $pBits, $hResult = 0
    $Ret = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0)
    If (@error) Or ($Ret[0]) Then Return 0
    $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $Ret[2], $Ret[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    $pBits = DllStructGetData($tData, 'Scan0')
    If Not $pBits Then Return 0
    $tBIHDR = DllStructCreate('dword;long;long;ushort;ushort;dword;dword;long;long;dword;dword')
    DllStructSetData($tBIHDR, 1, DllStructGetSize($tBIHDR))
    DllStructSetData($tBIHDR, 2, $Ret[2])
    DllStructSetData($tBIHDR, 3, $Ret[3])
    DllStructSetData($tBIHDR, 4, 1)
    DllStructSetData($tBIHDR, 5, 32)
    DllStructSetData($tBIHDR, 6, 0)
    $hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0)
    If (Not @error) And ($hResult[0]) Then
    DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $Ret[2] * $Ret[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0'))
    $hResult = $hResult[0]
    Else
    $hResult = 0
    EndIf
    _GDIPlus_BitmapUnlockBits($hBitmap, $tData)
    Return $hResult
    EndFunc ;==>_GDIPlus_BitmapCreateDIBFromBitmap

    [/autoit] [autoit][/autoit] [autoit]

    Func Logo4_GIF()
    Local _
    $Logo4_GIF = '0x474946383961A9004400F700009292924040406A6A6BE1E1E1CDD8E35689B66499C6C3CDD8BFBFBFEDEDED3A648DDBE3ECA5BED69AB1C75A94CC33333579A3C8C6C6C699BDE0AAAAAAD0DBE5E6ECF1A7C2DD949DA67F7F7F848484F1F1F1B0B0B0B8C0C9E8E8E8FCFCFCA3C3E2212125B4B8C74C5863D5D5D5F4F4F45B687471727246719A515C684C4C8D00004236367C989898A0A1A1A4A4A49D9D9DCECECE8B99A55B5B5B6795B9B9B9B93647578BB4DD677684C8C8C800007B92ACC5606061A5ADB54365868D8D8D9ABBDB5252525783ABD9D9D97B8894C1C1C12A4764548EC757799979818BE4E4E499A2AE00006A000024010134D1D1D192B2D1707B85ADADAD416C96C7D2DC83ACD4A9B0BBB6B6B6000054E6E6E623237994B9DE7CA9D3606C78838C94ABC9E6DCDCDC49494A7DACD9000073FAFAFA65717D4D83BA9BADBE87919B56636EA8C6E343495627384A8AACCD3A5269749AB972A4D38989892A2A2ED4DEE727415B4B7DACF6F6F6CAD5E0F8F8F80000128787A74B79A2111111233C54EBF0F493A2B0BBC5CF9898B9181B26527DA6EAEAEA669DD06187A8C3C4D099B5D293B6D834537118187C344B616DA2D4333A4344515D9AA7B3DFDFDF8EA3B8797979788CA09DC0E2889EB48EB0D247617AA3B9CE0000609EA9B5385E8435597DB3B3B37691AB5B91BE9EBAD585B1DBD6E0E9AEBAC41B2434ABB6C1'
    $Logo4_GIF &= '67678981A4C26B92B00707071010317F868D90979FD0D2DB405C783C5E7E729EC44679AC3D5A751F34496DA0CC1C1C69B1CCE850719185AACD9FB6CB4374A233404DE0E7EE5959847375769599A1666769A1B4C6B0B3B52424562F51730B0B7D7A7AA724303B3154770D0D7693A7B9BBBBBC707981487DB1A7A7A781A7C93D566EAECAE70909648EA8C179A6D00C0C4E1414454F83AFFEFEFEEEF3F6F0F4F7B1B6BAB7B7B7A0BFDDA9A9C3C4C4C41019227AA1BFA1A7AC628FB34D6C8943437445457FCBCBCB2E4D6BA1A5A8ABABAB7C7C7D9A9A9B5089C1E3E9EF3B3B5FE8E8ED6B6B9F77779075A7D678A9D787B0D669839B90B8DEE9E9E9D9E1E9D9D9E110106B0E0E28000000FFFFFF00008021F90400000000002C00000000A90044000008FF00FF091C48B0A0C18308132A5CC8B0A1C38710234A9C48B1A2C58B18336ADCC8B1A3C78F20438A1C49B2A4C99328538ECC92224F1E532BF6E55049B3A6C71521FCE9F4A0E10B915E326D0A1D2AD1984E7FD8EA9020A101DF8816C3C4CC244A9564B22C2B56982BB7228BA264530DE6D9A96190D9B3589E460D5BB56D4645E6F2188257A76E1D0D09060D88F0AB5716B00353E8AC93B785A475EBE0981D80234335316E23572CB6025082A3FE3C8CA9BB5429DE0123D4F5AA95A3183C7F2406E11B14E001302001F0C98664454D26B692732F3467E8A80712793B081F3E1C'
    $Logo4_GIF &= '5FDE244288E4019439816C7C6004747821038BF024E724595BA2BB7BC22C397502FFC7475C3896F3E8D377B04E82307104113A6400323CC90816A46E7BDF3F301E369D4D61914412907CC3822F2838A2A0083B20E1020C034698846C024A9884000F5871DE802338F3C01590F1D75D32DE88874F84060A20020A687071C38B379081060A22F8E2821316E698040B0F0010E100424CD0880A218A289922ADE8944007032E83810868DC30440C7E286386190D5CF9C80593DC80C60E2C40A8230D3424E1830C03A4095A0B0F1069E491FAF873073E699EE3030A5C4CE90796C1E482C99F98E4124C968FF83144093BBC20849A6A060046121880A126247692E2E69B6D21895A12696E000C1A7A36100C260C946AAAA9810673A51243A0B14E048C0EFF00061000C8000624690A818000AA5CC11DA655E544028190B4800219675462869FA55AE0AC05693C8B6A2E84C6C00530CB40A22D24EB082089091968FB050C2D04D0C4153389A1C2BAECB67BA96EEABAABC2152119830D09037CF1450B22901143240DE4020A03DD3C9BC6C1083BDB0D03A0506B86327E9450020DFA566CF1174E74024C202A64F28F18206020F2C8246300C2AF92815CB2C83BA8F0D10A1AE0ABAFB125FCDBC0210377F3C107087B114D345E1CFC8105DD7403CA210DE8A04C0C9708B0CCC5FA0A014327BEC471AE54990480D9D63A81A1026E132D91C9'
    $Logo4_GIF &= 'D864A34C51D65CFBA30E1EE992ED3645C518320616420489023493008C73D11FE8FFFC81175E58306A1AD1A4B173DF3F1CDDC034914CD2860944D45DF7084E7CE3820056ABB0C44C2A6090F6515FC8D004D8115DF14000A8A7FEA145686F3D40067888B10408A9D7DEC444BDD4318810232060C2223744A2C32187FCD00D25C8EF9C8B12EA188280386658B03325DD48F003224F285D09396DC031C2F7239CB341066080D084E65335E1C3E7A8E1000C134552C404025CD3C07645AD1FA5C1AE782CD139D71EE807E914528C566800129483431B2EE1091D3C01113F90800491478948B0A2157DC8A03B42E08743204F823FD0C2212CC1387B40030D2E001F02E0400A7ECCEB365399DF51B041C3FF604303D989DD456488993AB040870611C315FFD8E5AB83E42F33F8E0860062F7BFAD9DA31F666B480A06619F117402056D384225D8F0402D684182129CC62AF2D1876C68431B7DC04229620046097811119660C3293CD18336F822024E70C23224E1C24C4885207880816FEE70070FFCA70E4E70011405228626F4E39190EC47131A1949484E92873AC1C600D881077411E40A4C00011046B68307F4E35DFF38A20792B844FF790E331DC0413F4004912A2440084E804106167189429C820D96B8873085A9857B0CE10F1528E319B35101399CC113C51CA60D2C818B3992C31522B8911388000052D0B220FDE861023470'
    $Logo4_GIF &= '87FFDC61042E4885C7FED1C4AD9DF295EEDC43000499C9DFE000757B0851131E40FF3FAE2500037B70994054994413E0810901680166789200D49DCC2159C0552EAD80824490A3101060433D6CC0D17BD8E01EF6B8C0022A90CC0CF6A1020BF80617DCC0D196D60317CF98C12D7AB0086644000638880210BE3990D9F946031DD8C01874728720C541A0ED3C0A0C24094FD0F5436BEC234123E8D5841DB04F279078C0ED5209D59D14140FE1641F364C30BA86F402393080010B6AE08A1314001654A84728E63A574F904114BCE0853B484A5277F082024AE00215E81A0A2A6C0102E338420F6481820DC0E01C5630812AA2983F0F24001251B8834EC630804E988B734DF5C7085EC0D4AD8D200A4FE51A367E23844E1C55054058286892A0D9A3FF24600F1E2328370C1A56CCAC165FCB00C2241BA2840138E11CDFF045117A70840218600B61886E742180020E2C80170B58403EF2915DEC8AE200CC388274C3400F6A40A0008290822C16C18273E000013EF0265BAE60D5CDA6050E24D8490782CB04D0628604110040698F42021CB023B548B1611D20B10C00F802042AC003248E72077201A0130318AA9232D05F824616AC3BF94F663A60205F04007E0C49C639BE708E73744204E8E8011D0AF08937CC831E38A6C72D582187EC8A620A7FE0C00128B0DD7C50A0142238023DE6C1E4371800BD279045112441847310E1'
    $Logo4_GIF &= '05538D5F3BEFC01801D0209309888024749854000BB8094D35733F40D089248CE1FF3F9625C23A1CAA8207602601914D451C06E19B2410610F62EB2A129578D00D38810422462400C01000F3C50F215970C20870F00D76D420115298F1271CC0883774FA165C2080284421870354E10CCC50C21F082007524F81158E3040A71941080740F9154540C304704004670041730461C20628AC2B192C83C0E7801D64CA1CE0018B27023E38251EFA39E24E00010F78389F097C13D41D80D83703B0C25175BB44153021CD1158473FB2AD9F85AC20971158C62AE6908813CCD8080E2004211821885DFC61D43F2E45AB7621021E1C800014900305FE500259E8BBD64628001D4EB0097438C20711F846147630D96053BB0E23B0C2038E3D1827B46091CCFF3E33BAA3BD044C7AA0039DF0762696A03E6E776289BDF5C71820B101E192BB7F65FE46066629864723A4178FFD8615B830074E64BA1DF87680030CB00825249C027618C519D0D00868D4000AA39802C2B15E8A5DF440EA0E30423B265EF11AD894085100862ADAFD0F3C5C463C3098C003E0794E67EC815E2977366AA00D459777C00AC0E8DF3F0CFFE19C8FE10BEA000313AE20E85512DA95FFFD06CB1F620A1C4480081B4041D34F108B321821EAC8E0821D144E010E586B173598F83162F007B153800007880129E89076B5B31D1D73E002111010055ED13DE71A8840'
    $Logo4_GIF &= '0B5201CFC747E1A8EC44B7CAFF4BF89653DBF2AD5CFCF5BFEAF82F4C40F2945F28FF2B81BEF2453A441E9426C28B9B2E85D29FDE010AD8C590294081033CE2063558C3098C608057D4C0E004807004C001685004A7670465100BBA50717C800644B00CEA20599EC45533940008C002FDB06D9B950456205C39107868467D2CE772E3C71D24B85BDFB6595FE00CE0577925C86C9B777EDF8000CBB07E4E577A505706A4F00863676A482002C7200BCE956F6D40067F6007014800535076E8707A65D00C52C08068408313200081308195850F568001088644082003F00382E5677DBE5182DA578628D87D2C38792E787930687E0D610A345883A27783650075E8000576407F5977065CD0088B70028210048428086BA009489884077001A42005EDFF908052C009E8C0075CB00C34E00C72F74DEDE40158D009062568613666EA227D82076023B87D84061927C85B98F1786B187E68D84A6F18450A610EDC40269DC0057C800C0A100BCDD00EC8E008F347007FA00450A00635407028B08C342202CCB087B717807F40067C500690C80945E07634C00D2EC0711358733B3108D0860776466030E003E4477DD34760D57782D9B78A29A8732BD882E2E78663F810EFD009DB6805ABC007C4A000BAD00C0A400A1CD0839A307035F007B7178D49487FF4178076500A6A5004CDA00B0A800C73E0085D40039DF00240D02B31446DF7'
    $Logo4_GIF &= '820FEA967388A44898C78EEBF86CA7188B8A078F6A488F2E99922C09870C510B51FF40035660052F3007E8B009BA100BB31003D0B884674006B0A709A2905D4CA95DA4E6900E79007E400AC46091C4C00725D00256B00100602EED1648574561233001203044A41882ECD8925E757967B896AC7814AE28936B298BF7E810C9A0959D60052F56044E3707287070F5370AAC70036AD0064840014C59644F490076300507E098077000A30005A4B00992380BABD0099D300119A055EBF40F3977558FB7016D2286225878A8B844AA888A6FA982AFD88674799AB498103980041BA0999D0005FE5804C71076A5B02547A9207F596A1C509CC5390AA3500A55C0039AF0084AF09C7E700143B00BB38091B330011BB0012D60021CF32B20B3353494361EFF90043400044C609A69899A33D99683D69A3A27042E209783169BE9399B089103E5E00CD9B901CEB00645000E25800432C22209D20835D0054A7001ACF00B17D0A00A7A065D80045040065C500233B28C0A12087CC0078EC00D1B10052C2003FCF04D4794141DC03B5F3008750067834004EF8396CFB69283A796484403EFB87D34E09EE7C40E27068B73998E04860331E810B5F002EA909DDC200273C007A4000E81400A507A0C6B7009B7C0225CC00C48B00A5DD005AB80043750020952038D700CC700A581000EE0400A7C300B5DD00951E00C70602EDF445F0BD50108'
    $Logo4_GIF &= 'C00E00E00C3090001E80141A8003EB906D69760E2707A333AA9E3B9100446050AAFF386C604604189082F7622756F37334891A307060F68910628001CEA00E51B001BF300BE8C0090A20057A700D055000E36000D44005C084330C6001A572343AF00CB0E00633F00905700D7A609545C007BBC00D51A00E2F6002E6D36E49350623C0A30F00062CA00147510730405A867A073E518AED2892242004E8C81DED742F42C049BD655934B00E10E6A3F309A444C56036C91039F00EECE00C13300134A0A4BC4807EDB069FB360F61F05112F037D1600BB650381F2001F7100A61F006846000B6460752609D6DAA0E2EE00360E04245226C3D748E817050BE8019E734017B60A83CA10101D00FD476A864F8534900029244A709F61B1E204FD33AAE3BFFD00F63039BEC9A19780104FD30790FB10F19D002F47AA4FEB90927700DED6000B2E6AF36A0059420B0046BB0081B0A5BC0B006F009D76091C12A02CB3001CEF00255732E618149A8710E700061D72A04EA7054B1954957658A50D4042FB0137D8A19EBD0047B800531F3660034001BE00B0FD03F960AB31E6048984103FDE510F10A002E50AF9DB00AA40A90D7F00906400B6F1006A1F045526B0B4173B0F76058B490B5BE2A0557B906C2F0A62D0007170B6C03D10FD28A0D099000E49901E0B02E1A88171D0003CE602E7B4018E3C41483D00109300677801709300034'
    $Logo4_GIF &= '30744B70053290045F000958304E840103A2D304020003233000095007FF359692FF0004A94024AD031C83101A89B70420D301FA920483D0BDDD0A0740D410D2E00BECE002CEE00C088006FE88AA957BB95B500F882001510B389FDB0D5A6003610001B4C0AB10CB0973300B67D009CEE0022C2000E6C353A0E90F426005EA30012E0007C080B359830F1A07B6EC800127D604BE408308800056D0023E80013B30015150AF212C008B746E2EF002F85BAF2FA0C24CD07226F0B856800038D0620830013E200060B0074C701B59F3A71B00B6417C6DDCD1044010B6443B01140B0732A0788C3B0C1970BF2EE002CB20027CE0747A1004960B01010C41517B38088C0854C0C03350007A2005B886993470C6EC30672E643659430334BC0332200340FFE0B362F300CEE00B889CC840207999D004329001DF22003210007BD008C080C888BCC88B9409080504897CCA40F000F0D372AE6102BE200992E00B02B00360F000A930793391090FA00E9210C98A0C068A97034D1007B372CABF2CC60E21066AE0032FD0022DE0020880026B8CAA41D0AAB0F00CF5F0403FB0CDD7134710000B335008E9D5C7ABB00CCECC0EF3C10F4D407702E14895F44843FC0FEE5C497840242DB7077190CF7B70504CF0CE3FEB9D11F6CE930719C28C077B0002F91C0720B007EBD6316131CF91946D21920357806DF43C5C0F9103D2B0033EC00ECE'
    $Logo4_GIF &= '0CCDFC9B080AA00782300E33000BA7800B5CF4044F1047CF100E6E300E41A0073DFF808D6BD005E6DC022F00C6193C9BB2B304401DD49BC348421DD47F940334C704E739734557D4401D1639D0D445FD478C34444ACD04E7C3D4B8F1D353CD1651EDD4549DD1D520001DEDCC2D4004675003E8F00AE4A0078560D26E100EA730D7E100D3A820CEB7F00A89300722B001DC70CE3EB00371709E430D12511DD61B91038A5D74882D1462600D020007ECF002CDAC8F25406F3D400E47100485800A9EEDD9855008473053EB550343100113A0D32C000782BDD403042C91F1D83B90010040D93EBC0C51C0058B9008AED003B77004C00DDCB7400EAF000D8B000D4850833A8DA718200371D047AF0DDBB15D0D4020093EC002B68DC6CB70013780456DFF000DB2200BD0F0DD6880043CF00D9DD00293CD023E10BE20B0D44627DDDD21440F2000B4CD02EC90DF2F30011E9A0EBFD00543D00567F00B3CB00D56D0C32FC00E2C000019000C011008591DDDF29D3299600D60002E00C002F83DD9CE200CCB4004208E0034C09F09AEE00C6E0240F0DCE753D813FE26B2530DA400042680013E90E11B9EDF389EDF1A0E00332C0029AECEF3D2D82D2E22519D09D5100801200326B00E19E003350E0050CEE33E9001EB60029BFCDC2E7405EC3CE4C052E457A00AA4F0AC40B003C0200066FEC993DC688100E45A2EE45C8E298B9D0957'
    $Logo4_GIF &= 'F0E5AAA00A4F0A02A4000281A00AEA7C3E73AEBE12FEE698D2D4723EE7EB32447320EE2B802EE88C5E108A7DD88C5D748ADDE8945EE9967EE9989EE99ABEE99C1E10003B'
    Return Binary($Logo4_GIF)
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Schonmal ganz gut.
    Mein Code sieht jetzt so aus dazu.

    [autoit]

    Global $cNew = GUICtrlCreateButton("New", 200, 100, 100, 100, $BS_BITMAP)
    Global $hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\images\DocumentNew_64x64.png")
    Global Const $hBmp_New = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
    _GDIPlus_BitmapDispose($hBmp)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cNew, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_New))

    [/autoit][autoit][/autoit][autoit]

    Global $cOpen = GUICtrlCreateButton("Open", 350, 100, 100, 100, $BS_BITMAP)
    Global $hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\images\DocumentOpen_64x64.png")
    Global Const $hBmp_Open = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
    _GDIPlus_BitmapDispose($hBmp)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cOpen, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_Open))

    [/autoit]

    Aber es bleibt trotzdem so ein schwarzer Hintergrund.

    Edit: Ist eigentlich

    [autoit]

    StringReplace(@AutoItExe, "autoit3.exe", "Examples\GUI\Merlin.gif")

    [/autoit]


    nicht dasselbe wie

    [autoit]

    @ScriptDir & "\Examples\GUI\Merlin.gif"

    [/autoit]


    ?

  • Lade mal beide PNGs hoch.

    Führe

    [autoit]


    ConsoleWrite(StringReplace(@AutoItExe, "autoit3.exe", "Examples\GUI\Merlin.gif") & @LF)

    [/autoit]


    aus und vergleiche den Output mit

    [autoit]


    ConsoleWrite(@ScriptDir & "\Examples\GUI\Merlin.gif" & @LF)

    [/autoit]


    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2011
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #Include <WinAPI.au3>
    #Include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()
    Global Const $IMAGE_BITMAP = 0
    Global Const $STM_SETIMAGE = 0x0172
    Global Const $hGUI = GUICreate("Test", 600, 250)

    [/autoit] [autoit][/autoit] [autoit]

    Global $cNew = GUICtrlCreateButton("New", 200, 100, 100, 100, $BS_BITMAP)
    Global $hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\DocumentNew_64x64.png")

    [/autoit] [autoit][/autoit] [autoit]

    Global $hBmp_New
    If @OSBuild < 6000 Then
    $hBmp_New = ConvertBitmap($hBmp)
    Else
    $hBmp_New = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
    EndIf
    _GDIPlus_BitmapDispose($hBmp)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cNew, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_New))

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Global Const $cOpen = GUICtrlCreateButton("Open", 350, 100, 100, 100, $BS_BITMAP)
    Global $hBmp = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\DocumentOpen_64x64.png")
    If @OSBuild < 6000 Then
    $hBmp_Open = ConvertBitmap($hBmp)
    Else
    $hBmp_Open = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
    EndIf
    _GDIPlus_BitmapDispose($hBmp)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cOpen, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_Open))
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While True
    Switch GUIGetMsg()
    Case $cOpen
    MsgBox(0, "Information", "Bild wurde geklickt!")
    Case $cNew
    MsgBox(0, "Information", "Button wurde geklickt!")
    Case $GUI_EVENT_CLOSE
    _WinAPI_DeleteObject($hBmp_New)
    _WinAPI_DeleteObject($hBmp_Open)
    GUIDelete($hGUI)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func ConvertBitmap($hBitmap) ; Workaround für WinXP
    Local $iButtonColor = _WinAPI_GetSysColor($COLOR_BTNFACE)
    $iButtonColor = 0x10000 * BitAND($iButtonColor, 0xFF) + BitShift($iButtonColor, 16) + BitAND($iButtonColor, 0x00FF00)
    Local $iWidth = _GDIPlus_ImageGetWidth($hBitmap), $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", 0, "int", 0x0026200A, "ptr", 0, "int*", 0)
    Local $hBitmap_New = $aResult[6]
    Local $hCtx_new = _GDIPlus_ImageGetGraphicsContext($hBitmap_New)
    Local $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $iButtonColor)
    _GDIPlus_GraphicsFillRect($hCtx_new, 0, 0, $iWidth, $iHeight, $hBrush)
    _GDIPlus_GraphicsDrawImageRect($hCtx_new, $hBitmap, 0, 0, $iWidth, $iHeight)
    Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_New)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_BitmapDispose($hBitmap_New)
    _GDIPlus_GraphicsDispose($hCtx_new)
    Return $hHBitmap
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Ah danke. Ich werds mal morgen auf der Arbeit testen. Zuhause hab ich nur Vista, da läuft das vorige Script prima. Und morgen teste das Workaround.

  • So habs jetzt doch so gemacht, wie du es beim erstem Mal gezeigt hast UEZ.
    Ich schreibe die PNG's binär direkt in den Code.

    Spoiler anzeigen
    [autoit]

    Func PNG_DocumentNew_16x16()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A03241B6007A2BC0000027F4944415438CB85935D48936114C7FFE77977B1E9B6C82103A18F81D92E8A2C90A24BE9C29BEC522810A16E9C9250172281605DF851985D79D15D1A595781457A938BB048C8A0586ECB4CA9B1B54DF6E5D4F7DDFB3CA70BD774DAC7810387F3F0FF9D731ECE2100D0344D58AD56BB1002FFB3C623D6AA5B9E86E942341D0A26936D54CCBBD3994C4C4A09410412024404024044403156720366E022C64797E09DCA42E6F393A59252CA2D570A524A2829A198A198C14A41298942A80B13CF9731F872136FCFAC2A7FA5BE510208214AAE0901A16965B1B93284D9B930EE3C32D174328163A7C5DCBD8CECB2EC0430F316A43886200211A1109DC062701E3DA36B387E208E9ECB87D1D01AEED934902A7540447BBB10022A3D8BC4CA0CAEDE8EC16D4F60C0E740C63D88540E3F0118DB23106D7B51CCEB61AC4526D1D9BF0414E218F699483A6FA062BF17449405C07FED80F5288CD8135C1B0A20168DE06E7B1629473B84F3146A6A6A00C00480320015678799818C8DA377641E1F3E7DC3E0951474E705E42C67E1F17860B7DB4B7B510E1002"
    $sData &= "5026CCEF2318BE3F8B173361F45E4AC3E16EC0F2E639D4D6D6A2BABABA6CB12C650000EBD904DEBC8BE3C1D3457436E7E03D7A08333F9A505F7F1055555588C7E350A002005506F86DE9D847ECAB94E86E75A0F18405CF965A5057E785CBE542E0F3022A2B2AB87FA0FFBA102229A52CE9DCBAAE733E9FE79BDD2DEC7FDCC6EF5F3FE4AF5F429CC964381289F0D4D434E77259EEE8F0F5D96C36DA5DD8ADEB3A07830B3C3E36C6EBF93C4B295929C5866170301462BFFF95F275F8FA9C4E27FDE9C8DC8661B061186C9A269BA659060804C3C6F9E6E64E9BCDBA474C3B3ED3F58F2B9642D3569594BCFBE117A7BA3A1C0CB32FC40000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_DocumentOpen_16x16()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A032B03F4F32625000001DC4944415438CB9593416B534110C77F336F939798A410B4053D8845513C29FA353C48F1643DEAD1E2C57AE827F0228887827E948217BDF56C41A195228AB1A14DD224BED7BCDDF190F89217A5E8C0C0B23BF39FDF0CB3C2D4E25AADB62822C229666636180C0E80146036F872AFD7FB28AA918A20338E481E6866BE52A95C0376011CC08357FB4F3E6C6D2E83489EAC8A4E60FE02955F28C095F3E517ABF757D6444555159D248B08AA5AA441E4E69DA78F575F7E7E9613A4A300A947450B49F3D5450423E8DD7B2B6B695C06783E16C88C51E211FD33795E4810FA8927444681C0271EA1586D56C0CC72EF279EA81CC602B7D6B7373E7DED920E8D376FBF8F09C60AB95C30C32C4C0460A765C4C75D6EAF6F6FC8C3D77BED1BCBCD7A083EAE555C8102C030B0FC04C0703C2FBFFFA3DF71DDC4B5770FA26AF046B3E1E656638A1D8201C6280B245984A8DAB743DAAE512D75969AEEA2CFA0D97085A9CFF68DC128F30C4F84057520C8F1A0D471B56AA9B3D48CC832E3EC829BABCFA47AE06494F1F344A837E2DF9B24ADC352C7C5E5D251E38C"
    $sData &= "4A96299164D30E260D9B1882114542BD366D5140E272E9C89DAB4B271979F51ED22C9CF28D047CF17DB1A15DB7B5F9E8FD854B57AF8329FF67A1F565EF9D4C98E2B9F1FF8B1990FE025C3ED6456457E6890000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_DocumentSave_16x16()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A12041291BBF7FD000001F74944415438CBA593B96E14411086BF9A993D302BD91611D6E6F88DC808F00B800D8200C10B70BF0212482424A43C0690E0B508B064C98BD7DEC374577715C1CC8E2F323AA90AAAFEFAEA68F8CF27005B77B7E6022BB7EF6CB1796B13114184C6D67E8123025FBF7DE7E3FB77F4BADDC5AB37AFAF5700AABA22C0B57E0FCA0A07BCAD200860028508FD7E8F180296F30A4005501605B5156EDE185C8274DCC1DD3173523672CE8808AD404A0900CD995F8727CBBC86E44CC0DDD194DBF85620E70C4088896E559ED576AF45DC31073327686AE3AF10444DECFF9E21807B83BFF4DDB1A6484A6919709160B4FB83988CB22C298A0211C10133C3B2A139B1FF73EF2A416E08BE7CFE7469C9726E967E69B6FF2058BEA22828CBB2BD0396146664336806DA0AA86A9BF8F0F1230683413BC41A444829B173EF3ED932EB6BEB14CDEA2B8018427D075545CE9907DB3B841078FEF205EE4E4A0955A5D3E920B92084705120C4580BA4849B319B4E891A99CFE7A82AAA4A8C9118236686009DAA3A27104214E8569D0EF3C582E9744AB2CC6432218480"
    $sData &= "AA124260B158D4FD9B919AB62B80DDD1687BB8B1F1B66B568CC7639E3C7B8AAA72707080AA927326E7CC9FD3D37AB5EE88881722F5673A3A9E7C38994DF786C3617F341AADADAEAEF6BADD6EC7DD0BC044448F8E8E16C7B3D9F1787CD89C1827E69EFE025AA05009BC73BD0C0000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_DocumentSaveAs_16x16()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A1203238F246100000002E64944415438CBA5934D685C5514C77FF7BE8F4C86C94B8727D4A4456BC41AC15629A9F56B252A8AD82E022D14DA4202A594AA0D8D8A20060B52820A2EC445365AB4AD4A166E44F0838046A4C6A898C681A24D93A666DA7426D3C9CC7B79EFDEFB9E8B612614979ED559FCCF8F1F8773E07F9668368303837501D97D0707E9BDB717210442801082B47A93DAC4B7784F3E8DED7530FB6781CFCF7E4C9BEB06B209504A659552B467DAC0B249A545222C940E490B87A97CF83E0B7BFB099696C964DA88A388300CB32D802525524A2C29E8F27374F9396ECF67F0AE0E31FEFD45F6172E33373F4DF0DD576893608CC11883DD0468AD1B26C670F546150079F94DCEFF7881D14F429E7BACCAF6438FA2B7ED46DDB8D6CAB70C9AC428D6B8B645A6FC29572ECDF2DA0775FA7A4A0C0FDC43ADE71DB21D3922A531C6A0B5FEAF41AC342B8BDF60977EE1C5B797D898BBC6A9633E057B84CEC423AD4644B16EE4D3741D608C0160ADF43B797F99436F1530E122EF0D4B26970F20B54DEA5EA7B45CE49FF9B9567E1DA0351B7DC9C35B034E9C9A6271E1"
    $sData &= "6FC686424E4FF430B3F0335E470129E5AD4790A6EB3B687715AF1E7D9CD1B169A67EBDC0BB47AA4CCC6EE6B74B793A3D0FD7755B009324B7EE60E4F0E6CC9EFE6D9CF962862FBF9EE2E4810AA26307A2EB19869FBA9FEEEE6E841068AD39717C089318F21BF248291B06FBFA9F3F797EFA221F7D36C9B1DD15B66CB9831746973877E62CBEEF134511B55A8DD5D5551CC7C1B61DA228228AA2868172EFDB5B0FAFB0FF893A3B7B05A727FB48931F10421004014A299452C4714C1CC7244982001CDB46BE34F0ECCE9BA5993B1FB8DBB069D35DBC3C761B3BFA1E690C8701954A8572B94CB95CA6542A1104016B61D83C65EC9FFE58DA53F86BEE5CF17A6D3E15DE2B8ED32E2DCBE2F5913788E39862B188520A630C4992B016868D074B538410A9701DBB3B565A00BE65590F6EE8EC741FDAB52BE7799E93CD66652693C1B66DE3BA6E1486617D7C7C7C65A55C4E0052A8FE0BB0F46C4F57EB67FF0000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_Exit_16x16()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF61000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061915192B2628AA820000024F4944415438CBCD92BD4B1B7118C7BFCFEF927AB98B47F422062E12D1A601A943AD4D4B6B8B4B11914007A1D041717114FAF21738F76512A73A4AEBD0C53839584A5F145A0BBE20860A7AB488B99AC4903B935E724F87AA20B674E8D2EFF885EF87079E0FF08FA1DF956F348D88A88B993B890824C42A332FDF2C14F8AF80B7A1504A91E5C7E164F2821A8B0142C0364DEC2F2E669C4AE5D18D5C6EF68F80779A763FD2D1F1243C3C4CA4AAA7C06CDBF83E35C57B99CCC3EB0707CF8E7BE9641C0CDED25B5AA69B4646840887410D0D507A7B912B95A0681AD87521C7E3E46D6CDCBEE7BAAF9F572A3B00208E017EA2F1C68101E1D775A87D7DF86A9AA0BA3AE4B3599C6B6F874824E0D33434A652C2078C1FEF0400BC57555D318C1EB9B919FE781CEBF3F3089826E07980EBC249A7212712D8DBDD4520128162183D1F344D3F0110519B6A1892C8E7214522F0AFAD210C00B51A50AD42DADE86B7B2823C33C8B210340C4910B59D00045016B60DCA66C1A5129A02019065FDBAA05080B7B000D8360E4C13BCB40461DB104019007C4780CDC3"
    $sData &= "ADAD224992E6A4D308F5F7E3C7E82836868650CC66E18FC550EBEA823336064184722E5714CC9BA7DEB41C0C4EE60C838BADAD6CCECC702D9361776282ABD3D35CB62C7E3138C85634CA8568943FD7D74F9EF16059559B41F42926CB860FC05677372AC9249C6211877373B896CF4302B05D2E7F03F3E54BB6BD7746A42545E9F480598528A60B01E5A83F04B0EF7970987708485D759CD53FAA7C4792425724E9C14549BAAB139D07807DE62FEBB5DACB8F9EF7F455B55AC07F959F66EDED9CFB72923F0000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_DocumentNew_64x64()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D4948445200000040000000400806000000AA6971DE000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A03272764458DF8000012224944415478DAED9B79941D6599C67FB5D7DD6F77A7D324E9AC8484B06A862D6E70D00107E2B88E62043D288B3067304200212A8809E01CC70451322ACA1C6014C7C12D8A24C8928892A43BFBDA49080949777A4977DF7BFB2EB5D7FC71FBDEDCAD3BDD49A38EC7EF9C3AF5D55749553DCFF33EEFF77E55B705FE06DBD62BAEB837D5DEBE383663C661311C7ED93A76ECD1B92FBCB0ABD6BF15FED6C0B77CF4CA0531ADE1E98C2409466727215D277AE1856E7AD7AEFFCCEEDF7FF745ADAD9911133075EA5451144521140AA1EBFA5F2560DF7709AB69A6D71BBC6F9AF4BE8B93F37EE9DA9E6E5B1603B68DBB6E1D767F3FD10B2E2078E699DB93EBD77F60DE9E3D874E4880A228BA6DDBA701E3FF3F44CAACC934FFE241F9878DEECCD8B1DF9D8999B6D1321922C924BBFBFB110F1E44D275EA2EBBECCDD4CE9D97BDE7F0E1374E140131E01DBEEF3FF7D70E3E37D041C78BEFA221942214A963E0A040E7D313A8EFCA6266320C58165D679C81B37A3532103EEBACDD99C3872F796F32999287B9AE00C800473B3BF13C1F41101084FCA9E1F7"
    $sData &= "200C76F2C3C779164AFB15E7861AAB52AAE4BC63A5E9FDE37C1A830982E17A1CDB24A924593EE0728B112492CB412643F84F7FA273E64CA47DFBF076EE9C234722DF026E182E02E2C0BB7DDFFF75C7D1A343822D02ADD88FB45F93A41A406B91E1792EDDAF7D9206611D91683D9EE791480CB0F0B1301BF7A93402F7E57234A65218990CAEE79196246CCF23E0FB9EA969E78B230BB26AD0852D3F56BAA7E4DC30FDD26341C81F17C8A91CA3E29E820002F46CBE933AFF8F8422717C2093C9F2D0333136EE5301E801BE28086CB52C3CCF43005C41A0A7B111A7A949146CFBD32322A036688A9628EE2B226138E027045D3A56838CDE5D8F104DFF8470A40E5194C866B23CBEAA9EE7D64BC7EDE1381C4926B9D534D920096424892E51C4EEE9E188E39096E5E61112501B7455E8171EB4126C2DE095A04BA36108220AE792079F45ED7C8848B40E59D1C866B23CB769028FAF748BCFEC791EA9548A743A8DA4C3E4C5BE6B5F2A788E6D83EFE3F4F6A67FEB388FC8A3B14039E81A09AF86CF4BFD5DD3EBA5E786CA0525E3E9AE3FE1EFBF8D783C8EA207C865D2B41E9AC6D2FFEA2DA90D7C32990CA9540A51F0F9E6AD7873A6E349A7BBA83181D77FE1DB4FC0B56F7ADED65159A0E0F3F2D0AF8E8421A3A286B2A3B18091DC87B9ED3A62D1107A308691CD72A07F165FFA4E12DBF18BCF6B9A26C96412C771F8F2A7F1DE792E"
    $sData &= "AE240AE8BA249CFB19C579F13C71610BBCDA07827C32161852E113A83E6CBFD671C9989DEB21BDF113D44544029106CCDC003DD699DCBEBC8F64DA2EF37D2291C0300C6E980F1F790FBE240AE89A24E89A24FC60A5F7F0B3DBBC95806F837F0A16182312068F6B812E8CB94E8EFE9605D405D204A34D38568E346770D777B31CEE4C57F93E93C970D52570DB472524D143D72441D32461E51FFDA7EEFBA1FD04E00E6EBE3C3A0B0C0DBE16C851011F4A7DCFA5B7F526E2F22182B189B89E8D214CE1EB4F4A6CDDDD5DE5FB6432C93FCCF2F9FAE72464594495F3EA6FDE27BC74DB23E6438033B8B980371C017E55423B591246DAAF71DCB3ED2B449CF504EB9BF3FEF6637CEFF94656ADD950F6B0A6699248249832DE65F9BF490434014D95D0145F38D825EC58F035E36ED3C22E51DF057C71A4F5F6A8C09724342AFAC210FDB2E3C1B1FE7DDF2390FA19A1BA2988A286E186F9CD9639FCE89996B267B36D9B442241583379EC7691FAA880A649E89A487F5AECBEE6ABE63DA90CE912F51DC0033CF194C057821B8218610424941D0B02E923CF21757C8B70FD7424358C61CBB476BC83071F7D11DFF7AB7CEFD9191E5D2832B5491C042FA168313EFE15F3FB87BBFDDE0AE5DFBA08108622E644362839CEF56EC2D97F37918669285A0CD3F23968BC9FBB96AEC4B2EC32DFA7D369D2E9140FDD0CE7CF1C04AF4A68AA4657F4"
    $sData &= "EBEC3EE41D1B04EB54F8DF1F3101A3015F13F030A15FD9B7D26F92DB792BD1FA496881064CCBA14F9ECFC2FB7F4D32992E7B2EC330482693DCF1718FF75D90575D57F3FB76FD8B18EAF90C867AA5F2DEE0C6C947C030E0AB808D9004C74A90DE7A03D1581D5A683C966D6384E7B368E9EF79F348674DDF7FFC528BEBAE1C04AEE67DDFA95C4752BE0C5996A9A17EC1FFFE8809106AED87035F42DA9063157DDFB3486EBE854848428F4CC0711C9CF07BB9EF9156B66C6B2B7B9E82EFDF3127CB5D0B24745544D344744DA44FBE822EE963C8B28C2449A5115036FD15AE258E50FE9181AE50B58A84A1CA65A07FDB5D84D57E02D1665CD7C70B5DC4A33FE9E4F72FAF2B4B7A05DF4F6B4CF1F0E74582FAF1A49796E772901B91651945512A23C01EDCBCD2297EE411305A122AD707C390906CFB2601771781D8347C245C75263F7D49E0E96756E2BA6E95EF236A826FDF06F1B054046FC9D3D9ED7C0151528BEA9710600D822F53FFCF16010C410CC0C0A1679053AB08D6CD4410556CA191B57B26B3EC3BFF8D6DDB55BEC749F0EDDB5C268C3B0EDE971BD96E2E4290C2C8B25CB695A8EF54821F5512A412C8184440B67B0D743E4EA87E36A21CC4727576769FC757977C9F5C2E57767BD77531B249BE71A3C1EC2983195F939094105B725FC411C79585BEA228A8AA0A600B8260974C7DA327A04AB95182AF95FC8CC44EEC03"
    $sData &= "4B09359C89AC46B16D8176E362EEBAEF072492A98A77FF3ED94C9A7B3E99E6E2B38F835755852D995BC932B54A7955550BDF321C55556BAA3F7A0B542C5684A1F6C3548E82206067DB31F6DC4DB8E10C14BD1ECB76E8E742EEB8EF493A8E765525BD5C2EC7F55724B97A9E48402BCCF722DBD3D7D2EB9C8D244945CF9782D734AD60017F2868A7940447B450AAD8BB568AF48EDB09C59B5183A761DB3639F93CEE79F057ECDD7710CFF3AA7C7FE5DC049FBBDA2F03BF377B35878D77A2284A59D86B9A462010201008142CE09F3201C3853CA320C3F36C06762E221489A24526E3380EB6349D071E59C3868D3BAB32BEEBBA9C3F2DC1DDD7D8E89A545CE01C312F6677EAEA62B62FA85F503E180CA2EB7A2109FAC3411B79121C2119437F27F049EDBA1F5D31D1A2A7E37AE0080D3CFAD42E5E7879238EE354F9BEB93EC592CF1A840205DF8BF43AB3D870EC1AA40ACF17942F7CC79465B9EAFBC3D858E0246C0130B0FF5134771F81BAB3F091715C951FFFB6831F3FBB16CBB2AAC0C70219FEFDC601EA2322BA9E2720E74FE0958ECF20886A517949925055B508BE10FAA2288E09013EC3011DA244AE049F39F22C6262158186B92006B06D97D5EB527CE7472F629A66D54D35D9E2E1CF26686E3C0EDE1363AC7EF37A3C215C95ED038100E17078D4EA8FDA02230AF98AFF631C7B15F7C86304C7CF435462D86696969D1996"
    $sData &= "3CB2BA6AAECF3F90CB7D9FEA65CE548ECFF5B2CEEFDEB88EAC5B5FA6BCA22845F0E170185DD70BF5FFD81230A4EA27F0BD95DA83B97731E1A679C8FA6958E6006D07D3DCF38D1748A5D265D35D21F4177EA89779677B79F0BA84A6CAAC7EE363F499CD65CA2B8A82AEEB84C3612291088140A0A8FC48C18F6E395C2BEB0FB35C768C4EB23B6E213C7E2E4A78069699A4BDA38F3B1F7C8563BDA99AE0AFBDBC9FF9F3ACE3D39D26F2CAA12B39949A5DA6BC2CCBE8BA4E241221168B110E8751D57C5E180D780A9FBF475A060F6781B2E5AA9D6660F36708C726A3C6CEC1B632F4F6B4B3E8A10D1C6AEFAF020F70C5DC349F7B7F7610BC88AE8BB4765CC2F6EE0BD0F572E50381C098801F310127FA8E5FAABEEF39A4B6DC404003ADE1221CDB64E0D81EEEFD8F6DECDA5F1BFCDB4FCF71E7BF2407E7FAFCF2B6EDD899AC7DE352345D2A03AF691AA15088582C46241241D7754451AC795D4640883C2A0B0CF57EBF48824F72FB2254672F81091FC1F320D3B39E258FB5F1DA96819A0F39ADC9E2814FF7110E0E2AAF49740C4CE237BBFF09593D5EE515327E30182C032F0842F1BAA5D71704E10425D049588061BE040174EDFD25C1FE9F136CBE0A5F0890E95AC3779FDECB73AF3A35C137441D1EFE6C2F0D31B1083E69D6F1D32DF341D2CAD6F585D08FC56244A35182C1209224E1FB7ED5B50B89D017C4B18B8013AB0F0303"
    $sData &= "328AFE76F03D324757F3D3DF1EE0C9E7156A456740F578E8FA5EA68CF78BD39DE90579AAE503D87E04BDA2D2D3759D68344A2C1623180C228A22AEEBD6245610044451C413A5B1CF01B5800358461A7049456E21D5FE14ADEB77B3FC67A19AE025D1E7FE6BFB38679A5B2C747C41E1C9F5579234EBD075A92CEB6B9A46341A251E8F17C13B8E53A67E615F505F14457C59ADB2C629E780A1924BEFE19D04E3E3F19C3476DD0731E29371BC5FD7BCD6C20F2778D7B95611BC248B3CB5FE323A52138B19BF147C21E317C2DE755D3CCFC3719CC17E9E084100511411250959927165DF035CCF1B9A81515960B828C8A48EA28502D8463FB699E06DB363BCE7A2C9ACDD70B8EC129FBA3CC547DE952BCEF5B22CF0AB2D17B0EBE8F4A2F2A22816C187C3E1E274A7284A7E0569DB58968DEDD8B84E9E0C1F1F813C0192ACA045EB7962C5B75703475555B51CC71EA33AA046F83B968191E946942279028C04B699E0BA7F9E8CEF0CF0EAA6043E70F9DB32DC323F9D07AFE7C1AF699BCD1FF69F53A67C61755798EEA2D128AAAA625916A669619A26966561DB763E0A3C17DF07511050348D58C33856FEEF4F5A1E7CE0FE07544D3BA46AAA99CD66C6200286F8CDDFB1C3DBD102EA20F83C0196D98FEF24F8C43F06987B86C98E7D19165F9324A01F07BFEDF0247EB5E542343DFFFEAEB0A40D0683442211E2F138F1781C4DD3B02C"
    $sData &= "1BD334C8E50C0CC32892E0B82EBEE7218A2275F575D4D5C56859F7EABE7BBEF4A5458AA2B4C5E2F144775797F79624C1424BF6EC073F8B6D1E075F8802D7C930734A90D933C6A1697D043490658143BD0DFCB8E53242E128A150A8B8A029ED17929EE3B818468E546A804C2643CE30B02C0BD7751004814913273165CA6400B66CDDDCBD68D19DB7F9BEBF63DCB87189F6F6766FCCA6C15A51E03A36E9BE03684101DB4C6299491C338563A7F13C1B490E226B51142DC6FE817773B6BE09C796F89FAD1FA2B1A989783C5E2C6C0A04689A86AAE6DFEFDBB643CEC8914C26E93C7A14DB71D1758DC6710D4C98308189932622007D7DFDEC69DB9DBEE3F645FF9A1E486F98387162E2C08103DE98578295FD37DAB6204A368E95C3B652B8F600AE9303DF435682484A08598DA26A717AFAE23CDD329D68E33466CE994A3C1E271A8D120E878B2F326459C6F77D3CCF2B867A369B233D90C6B26D3EB56041715A735D07C330E8EBEBE7F5D7F7D98BEF5DBCB0B3B3F3A52953A624F6ECD9E38D04977CB2CA17DA6F56ADA1EB701B1FBEBC1ED7CEE2B91608029212429203484A98DE8440D28A113BED3CE6CE9E4C341A2DBEBDD1340D45518AF3B7EBBAD8B68D31E871C330C866B364B359344DAB09FEC01BFBBD254B972E6E6BDBFBF3D34F9F91DCB66DBB375248276781C104E838366BD6AEE5586F3F89FE632CB86A1C822021C9"
    $sData &= "0A82A493C9EA209E4BF3F917736E4313C160B008B850E1151632BEEFE3BA6EB1BAB34C0BC334C91906462E87619A343535D500FFBABF6CD9F225AD2D1B1F9F3D7B5662E3C64DFE68708CBE142E699B37B6D273AC8F5C2EC7DA963E8E76F572F32766138F4E20DE7C29B3675C82A6878A800B737CAD778605120A058E655BF969CF30304C13DBB699387142257856AC58B1EC9597D72C9F73D69CC486F51BFCD10A79D21100F0D2CB2F91CD66C9E5721886C1D1DE0009F94ADEFFA16B41902A7E5F9C2F522AA3A800BC00DEF33C1CD7C529143BB69D7F69EAFB4C6E6E2E537EC58A15CB563DBF6AC939E79C9D78EDB575FEC960904FD6FB9EE7B27AF50B64B35966CE98C68D37DDC4FC0F7C1045516AFEB0E244AD9408D771701C17D771B007CBDDE6C9CD080245CF2F5BB67CC92B2FAF597EF629803FA54268F3C656A64E9DC2035FFB1AEF7CF7A527F5366628123C2F1F0DAEEBE2B9F922E7F419338AD97EC9D2A58B5B5B5A1F9F33674E62DD29803F250B9C7BFEDBF8D1134F8E09F0E1A20101C635342049127BDA76A717DFBBF80B6D6D7B7F3E6BD619C90D1B5AFC53BDD74913A0AA1A6F55138EFF621A455599D43C892D5B3777DF71FB1DB7767676BE387DC68CE4A64D9BFDB1B897C85F513B9E344544414492659A9AA7B06963EBFE9B6EBAF9BA8E8EA32F4E6A6E4EEED8BEC31FAB7B8EEAF70183F15915AE630B5E40"
    $sData &= "9244644521DA34893FBCF442CBCD377FFEFA5432B5A1A9A929B9B76DAFFFE71224065CE5BFC5CDF33CDF715DDFB01D7F2067FABD0319BFBD37E9B71DE976EFFAF27DCF8BA278B1A669F1091327BE257FBB280CA348D8F7FD59C084BF90555CA05D55D583B1783CD5D3DDEDFF5909501445721C27E0FBBEC45FE62F477D45514C3D10300752299FBFB7BFB7B7A4FD1F40C5C36CDAB0B1790000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func PNG_DocumentOpen_64x64()
    Local _
    $sData = "0x89504E470D0A1A0A0000000D4948445200000040000000400806000000AA6971DE000000017352474200AECE1CE900000006624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301009A9C180000000774494D4507DC061A032B3932FFFF97000009CA4944415478DAED5B4DAF1C47153DE756754FDE7B8943E20412E338C10A020C44410221212145598090105B84445076D9B041880DFC059455589015321BD62C00898F053B600309582050024EEC98C7736CBFAFF9E8AA7B5954774FCF4CCF9B9E79F31E96434BA3E9E9EEE9AE73EADC736F55CD00EFF18DCB5C2C2242124CDB5D05C4CC606983AAEABA09A0732E57D54D33CB9625EE34792059645976381A8D46006C5D0478008F00387FE9D2A58B24FD5D89DE2C5CB972E50D006F03D80110D645400FC00500CFECEEED5D76229B9377E1F8466568B0EDDCCCD3573C37672B8AE2706B6BEB1B005E037015C0B04BCF760D950CC0460C81263209748A8085FBD567B3498D36AF993ED746EED4A6AA04B051B6955DA5BD9C6992E3862E4B4297CFF5E1956D66A92FFA959FB00E0574947C573256214DBA5CF4C0234FCD80E734F8941E8FDE2F1B79D4E78963E5EB24B74E049CF9C0C576053441B6F424A78F57605AC02D0B785D24CD84C00BAFBCF54500AF96AE0F98211443ECDFFC176E5E7D0D4109E7E7035E24FD69D0EB92F4AA24B479C00F"
    $sData &= "6BF08B5CA6830296057EDA15661B014F00C0973FBD99901A301A3A6C5FDBC01BAE0727F3C12F52C03C7027017AEBE1F33878F7EDD53D20A821444BEFE52B9AA5FEEF089E0BC0778DDFE9783FEA55FBD6A31F3A5E1A8C715C866834A802D510838B14D0D89F07FC24623A446C7CEE85972F9FBDF00CEE3FFB247CD6ABD335801180EFFFF89B4F7CAF9B02221014B50AA25A4DC04205CC01BFA8C74F38F5E500BEDD5D016AA50724F0D10C6AE918A7CCB00D701BF893767B11E2A31FCCF0E4D3391E7D3C47968F15F0DBBF0CAB314D3702825A633F8544F28076D0AB805F671AAC3BCE0C311A8202542C1C111FAD80C67EB4860774047F9AC0C70322205A6AB3A8AD6E82211A48C0ACEC7D4D21D016F3EB00BFAEB8D72A64A3812586632B20284A1334589906BB163DEB02DEF53A2D0D3B85C0311410EB5935ABC157BE38CF04D7097E5545A88D494821C0D543A0CA02A164342A8ECCF35DC19F64291CB54CDF9A4260D1EC801C150229F6930768E90127057E1D552148A8A5B636DBDE2CEA5E78E52D2E9D06A3A69B759F6C5E8F1AE69D37B3B9D769A9D4A8764C0FA843607C436DA903BAE6FDE3844213701BF8EAB895C55AD5619321C0253D40C70454A570AC2AC125C6F4AB1A630574FABD8D88FA5E96DA18CBC15BEDDAAB10309105CA3AC074F19CE371D5D004DC06BE4D0113DFD1B17FD11D230B1C0CB5FE6A2814FDC230"
    $sData &= "0CB614D855C04F035FA484E92268180CFDC2908F14DEAC510A27BFBF7DD0EF46C0D59DDDB11A8A010E6FEDE3F65EBF6EC032839D45E0A701B791304F1153EB02D8D9EB23DCDAC71DEEC265A3FADC439B0F0300EE1C0C269FFFEC777EF7AB10ED79DCBDEB7D27B559EEE5371EE0734EF85E030FA44AF939EFBD3B50B533AFBEF4B1A173552CC2A9999F721A981932EF4E542A76CCEF1721D645D14CD547063225B39D3B83DE777FF2E681CF9CDB09D0337FBC3A18DD973B2D8B899E350830003085A962732347A719E355C0DAF1683000FD41018A009499B65018841886A872F5DFBBBDCCB91D2FE47527BCF8FA5BA362EBBE2C949DEDA7538F99C262C099070447AEDBAEC480B51CB795A8D8DD1F82CE839436A30E24868351C8DEBC7E002FBCEE45E41000FEB31BAD1FB258B640279DD660D1A0AA300790B602DA7606AC858C365EAC1315C4ED03854855034C671C18C0B87F18DCF66E807772E833EFEE84088022DEF9469A995200220883736EA5111BDBFABA2B689BFECABC721870E221CE83222DEDAC064D22CE099C7377BC77F28EA5991EF1CE4D487E22C7121018BC73ED21B082F46D16D9CC316B6760E6B89961BF3F84F71E222EF9C08C02A45AAB102702EFE41D6F861D110108C933A966556853CF343528059997354D5F19CC38D38506B694B84D42AC7E27084A2AA40EFA05C4097C099E6C258022040811119861"
    $sData &= "C7E7993B2C828230C93DEB69259D689CC1945002B96799615627C16CB6466F1EB3BAEB13B8D41EAD2B471181880390CE1D0E0A080DBDCC81E212F8D63498A6CE09AB1470E8BD7337D50012926715016473EC9F14001889AC26A07B0C7052ACE36B2724CEB2A7CBF3E5392BA7B9F3FCBE527996D4680A53A05F0400863C4FD24729FDB6301521450812E29C20F3EE6699060530B057121022A11393092C15C086028EC24ECC75A9BA97E71C6BC6B8A5D52847A2974BFA6C8031BD0F438099A297973D2F7264478810DE1130D08940C8EBDE09F7D504D6080121997E6FD45400612472BFE4BC5D63AC3E0FBCB57940B99FDAE190BB34BC4F5E048C46115123F27C52F647B54C84F48EB0320444B8EFB3CCEDAA29CCC6212024A2B679009165C97896AD06AD21FB967A676C8A56B94019FF11704E202E799311188588A0A1EE79B05B6A7642784F98A52C9067B2EB33EFB64304D420BD9CF574BFC4299352C004C8B3050B9C9DCBDE69C79FCD0EA6402490E52EA5661A86312084807CC6F03A10E0C03C23D46A0FD8F6975F3AB7FDB51F5C533330AB7EFA626494A9BCAB84C6CA038E9706A7B3C0440668D403A6807702E7D264C7200484186BF0A8CADD8E59C9099979C28CF48E7AF9A573DB1E0072EF0621DA2661CC33313350143326685265012E0CF956FF3BE258DBBEAA814CE9EE7010106BF05212B05C47380109A313A177"
    $sData &= "ECD733427926EF1A6C9384F4324635D2E9548F29A07342809DCA1ECCAFE68CB3FB0698090CC061BF486EDFF389102907644B0A51848C31C93FCFF86E4D80885C13B1F36A26DE317A01159359004C26E81D977A3867067D47A5BDC97DD554DEAA19B2AC8C777173F37C17028A60222270C26B8D3941EE392142306132E289FB33754C632D70B97100E72882D314552B4E060455EC1E0EA0C632C7BBF1187F450F3218434829D080BD9A80CCCB9E99A108E5D4A94DB6793C36246EDEDE3B9D093B2BD311652DE02B5C4580B8E4650D029CDB8EAA0831E51F33D0660792301266B28689AB8E4B6BD5A0868D7E39DEA319A2D13941E664BB2680E40D2782A09034F69F33DEA56B4C869C380553737BC71F811AC010E15C9A2BB85113B0914B3FADA941CCD05E509FC20F97D733CFB64801F0DE0936F2461A7CF441DE7A3008B67A94229A0BCB2C039F8E23ACED4E9B3DF8730F3BE41EB76A021EE0EEF5871E3B8BC22037F7477E3028EED19500E2FDF7E7EEDCFB1C6EDFBA75BD26E0AF7FF8D9FE57BFFE22068579DEB6CD98B95331BAFF45189D3FEBB891097EFFCB5FEC03003FF3F92FF0CDBF5FB9F8F28F7EFAF38F3FF3ECD3C27B7B9548CDECCAEB7FFAC7B75EFCCA973EF1A9CFBEC173172EF2C6DBFF7C4C559F07F049005B0004F7DE5AA10150000700FE2C22BF7EEAC3976E10007C96F542515C00F011008F9724F87B8C80"
    $sData &= "50827F07C0DFB22CBF5A14A361B3973D80CD127C0F80BB8754600022D2FF080F001C9684B4FF63ED2412F05D9447EF3577FFFF76ACEDBF58A454AAE61E47020000000049454E44AE426082"
    Return Binary($sData)
    EndFunc

    [/autoit]


    Aber ich include die als extra au3. Somit sprengt der nicht meinen Code.
    Und so dann die Zuweisung zu den Buttons:

    Spoiler anzeigen
    [autoit]

    Global $cNew = GUICtrlCreateButton("", 200, 100, 100, 100, $BS_BITMAP)
    GUICtrlSetTip(-1, "New")
    Global $hBmp_New = Load_BMP_From_Mem(PNG_DocumentNew_64x64(), True)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cNew, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_New))

    [/autoit] [autoit][/autoit] [autoit]

    Global $cOpen = GUICtrlCreateButton("", 350, 100, 100, 100, $BS_BITMAP)
    GUICtrlSetTip(-1, "Open")
    Global $hBmp_Open = Load_BMP_From_Mem(PNG_DocumentOpen_64x64(), True)
    _WinAPI_DeleteObject(GUICtrlSendMsg($cOpen, $BM_SETIMAGE, $IMAGE_BITMAP, $hBmp_Open))

    [/autoit]


    Hab mir auch noch ein kleines Script geschrieben, welches das PNG binär liesst und mir gleich als fertige Func in die Zwischenablage schiebt.

    Spoiler anzeigen
    [autoit]

    Global $sResult = 'Func Foo()' & @CRLF & @TAB & 'Local _' & @CRLF
    Global $sTmp
    Global $sFilePath = FileOpenDialog("Datei auswählen", "D:\AutoIT\PVI\images", "")

    [/autoit] [autoit][/autoit] [autoit]

    Global $hFile = FileOpen($sFilePath, 16)
    Global $sData = FileRead($hFile)
    FileClose($hFile)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If StringInStr($sData, "0x") Then
    $sTmp = @TAB & '$sData = '
    Else
    $sTmp = @TAB & '$sData &= '
    EndIf
    If StringLen($sData) < 1024 Then
    $sResult &= $sTmp & '"' & $sData & '"' & @CRLF
    ExitLoop
    EndIf
    $sResult &= $sTmp & '"' & StringLeft($sData, 1024) & '"' & @CRLF
    $sData = StringTrimLeft($sData, 1024)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    $sResult &= @TAB & 'Return Binary($sData)' & @CRLF & 'EndFunc'

    [/autoit] [autoit][/autoit] [autoit]

    ClipPut($sResult)

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "", "Der Code befindet sich nun in der Zwischenablage.")

    [/autoit]
  • Also laut dem Tool beträgt die Kompression 0 %, also bei Saved.
    Es sind ja auch kleine Grafiken, da bringts glaub ich nicht die extra nochmal zu komprimieren oder?

  • Stimmt, Grafik Dateien, wie JPG oder PNG können nicht besonders gut komprimiert werden, aber die Base64 String Länge ist kleiner als ein die Binär String Länge.

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Also bei XP siehts es auch super aus. Habs jetzt so:

    [autoit]

    Global $cNew = GUICtrlCreateButton("", 200, 100, 100, 100, $BS_BITMAP)
    GUICtrlSetTip(-1, "New")
    Global $hHBitmap_New
    If @OSBuild < 6000 Then
    $hHBitmap_New = ConvertBitmap(_LoadBmpFromMem(PNG_DocumentNew_64x64(), False))
    Else
    $hHBitmap_New = _LoadBmpFromMem(PNG_DocumentNew_64x64(), True)
    EndIf
    _WinAPI_DeleteObject(GUICtrlSendMsg($cNew, $BM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap_New))

    [/autoit]