1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. UEZ

Beiträge von UEZ

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • UEZ
    • 29. Juni 2012 um 21:13

    Ich halte dies für ineffizient riesen Bereiche mit PCS zu prüfen, zumal sich auch der Inhalt dynamisch ändern kann.

    Z.B. mit BitAND(_WinAPI_GetWindowLong($hCtrl, $GWL_STYLE), $SB_VERT) = $SB_VERT bzw. BitAND(_WinAPI_GetWindowLong($hCtrl, $GWL_STYLE), $SB_HORZ) = $SB_HORZ kann man prüfen, ob ein Control Scrollbalken hat.

    Diese Methode ist leider nicht immer akkurat.

    Gruß,
    UEZ

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • UEZ
    • 29. Juni 2012 um 18:04

    Das "Grabben" von Fenstern mit Scrollbalken habe ich noch nicht implementiert, da ich noch nicht weiß, wie ich am besten herausfinden kann, ob ein Control ein Scrollbalken hat.

    Wenn jemand eine Idee hat, dann nur her damit! :D

    Gruß,
    UEZ

  • Batch-Tokens in Autoit

    • UEZ
    • 29. Juni 2012 um 10:30

    Hier eine Methode, wie du die Zahlen in ein Array bekommst:

    [autoit]


    #include <Array.au3>
    $aStatus = GetLogStatus(@ScriptDir & "\Beispiel.txt")
    _ArrayDisplay($aStatus)

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

    Func GetLogStatus($sLogFile)
    Local $sLog = FileRead($sLogFile)
    If @error Then Return SetError(1, 0, 0)
    Local $aResults = StringRegExp($sLog, "\s*Dateien:\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*(\d+)\s*", 3)
    If @error Then Return SetError(2, 0, 0)
    Return $aResults
    EndFunc

    [/autoit]

    Du kannst jetzt die Werte aus dem Array auswerten.

    Gruß,
    UEZ

  • Eine Kugel mit sehr vielen Punkten...

    • UEZ
    • 28. Juni 2012 um 22:44

    Man(n) lernt nie aus ;)

    Gruß,
    UEZ

  • Batch-Tokens in Autoit

    • UEZ
    • 28. Juni 2012 um 19:57

    Mein Vorschlag: lade die archiver.log hoch und wir werden sie entsprechend nach AutoIt konvertieren.

    Gruß vom Lehrling, ;)
    UEZ

  • Eine Kugel mit sehr vielen Punkten...

    • UEZ
    • 28. Juni 2012 um 10:01

    Mit Dummheit hat das nichts zu tun! ;)


    Du hast doch die Funktion sauber hinbekommen! Flüchtigkeitsfehler passieren eben...

    Gruß,
    UEZ

  • Schnuffel hat Geburtstag :)

    • UEZ
    • 28. Juni 2012 um 09:51

    Auch von mir ein HAPPY BIRTHDAY und alles Gute!

    Gruß,
    UEZ

  • Eine Kugel mit sehr vielen Punkten...

    • UEZ
    • 28. Juni 2012 um 09:45

    Probiere es mal damit:

    [autoit]


    Func _Geometrics_SpherePos($Radius, $Split)
    $theta = 180 / $Split
    $phi = 360 / $Split
    $range = ($Split + 1) * ($Split + 1)
    Dim $return[$range][3]
    $i = 0
    For $t = 0 To 180 Step $theta
    For $p = 0 To 360 Step $phi
    $return[$i][0] = $Radius * Sin($t * $_Geometrics_radian) * Cos($p * $_Geometrics_radian)
    $return[$i][1] = $Radius * Sin($t * $_Geometrics_radian) * Sin($p * $_Geometrics_radian)
    $return[$i][2] = $Radius * Cos($t * $_Geometrics_radian)
    $i += 1
    Next
    Next
    Return $return
    EndFunc ;==>_Geometrics_SpherePos

    [/autoit]


    So was wollte ich auch mal in GDI+ implementieren.... ;)

    Gruß,
    UEZ

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 22:02

    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

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 21:28

    Du kannst die Binär Dateien weiter verkleinern, in dem du sie nicht in Hex Code umwandelst, sondern in ein Base64 Code. Fernen kannst du auch die Binär Dateien vorher komprimieren.

    Beispiel: File to Base64 String Code Generator

    Gruß,
    UEZ

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 15:39

    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

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 12:37

    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

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 12:14

    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

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 12:07

    Stimmt, da war doch was mit WinXP. ;)

    Werde den Code auch aktualisieren.


    Gruß,
    UEZ

  • GUICtrlSetImage mit PNG

    • UEZ
    • 26. Juni 2012 um 11:52

    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

  • Blume feiert!

    • UEZ
    • 24. Juni 2012 um 13:25

    Happy Birthday und alles Gute!

    Gruß,
    UEZ

  • Bild von Webseite werden nicht im Label der EXE aktualisiert

    • UEZ
    • 22. Juni 2012 um 23:36

    Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ 2012
    #include <GUIConstantsEx.au3>
    #include <GDIPlus.au3>
    #Include <Memory.au3>

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

    Global $aLinks2Images[5] = [ _
    "http://www.autoitscript.com/forum/public/style_images/autoit/logo.png", _
    "http://www.autoit.de/wcf/images/future/autoit_logo_gtaspider.png", _
    "http://www.autoitscript.com/autoit3/files/graphics/autoit_builder_wall_800x600.jpg", _
    "http://www.autoitscript.com/autoit3/files/graphics/autoit_matrix_wall_800x600.jpg", _
    "http://www.autoitscript.com/autoit3/files/graphics/autoit_fire_wall_1024x768.jpg"]

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

    _GDIPlus_Startup()

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

    Global Const $IMAGE_BITMAP = 0
    Global Const $STM_SETIMAGE = 0x0172
    Global Const $hGUI = GUICreate("Image from Web 2 GUI Directly", 0, 0)
    GUISetBkColor(0x000000, $hGUI)
    Global Const $idPic = GUICtrlCreatePic("", 0, 0, 0, 0)
    GUISetState()
    Global Const $iYCaption = _WinAPI_GetSystemMetrics(4)
    Global Const $iYFixedFrame = _WinAPI_GetSystemMetrics(8)
    Global Const $iXFixedFrame = _WinAPI_GetSystemMetrics(7)

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

    Load2Ctrl($aLinks2Images[Random(0, UBound($aLinks2Images) -1, 1)])

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

    AdlibRegister("Slideshow", 5000)

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    AdlibUnRegister("Slideshow")
    _GDIPlus_Shutdown()
    GUIDelete($hGUI)
    Exit
    EndSwitch
    WEnd

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

    Func Slideshow()
    Load2Ctrl($aLinks2Images[Random(0, UBound($aLinks2Images) -1, 1)])
    EndFunc

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

    Func Load2Ctrl($sUrl)
    Local $bin = InetRead($sUrl)
    If @error Then Return SetError(1, 0, 0)
    Local Const $hBitmap= Load_BMP_From_Mem($bin)
    Local Const $iWidth = _GDIPlus_ImageGetWidth($hBitmap)
    Local Const $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
    WinMove($hGUI, "", (@DesktopWidth - $iWidth) / 2, (@DesktopHeight - $iHeight) / 2, $iWidth + 2 * $iXFixedFrame, $iHeight + $iYCaption + 2 * $iYFixedFrame, 2)
    GUICtrlSetPos($idPic, 0, 0, $iWidth, $iHeight)
    Local Const $hHBITMAP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, 0))
    _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBITMAP))
    _WinAPI_DeleteObject($hHBITMAP)
    _GDIPlus_BitmapDispose($hBitmap)
    Return
    EndFunc

    [/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.97 Build 2012-01-04 Beta
    ;=======================================================================================
    Func Load_BMP_From_Mem($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    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)
    Return $hHBmp
    EndIf
    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]

    So komplex ist es auch wiederum nicht!

    Zitat von autoBert

    oiste butte ...


    :rofl:

    Gruß,
    UEZ

  • Alina hat Geburtstag

    • UEZ
    • 19. Juni 2012 um 11:02

    Happy Birthday Alina und alles Gute!

    Gruß,
    UEZ

  • File to Base64 String Code Generator v1.20 Build 2020-06-05

    • UEZ
    • 18. Juni 2012 um 18:04

    Da scheint bei dir was in den Standard Include Files nicht zu stimmen.

    AutoIt deinstallieren und neu installieren. Wichitg: nicht drüber installieren!

    Gruß,
    UEZ

  • AutoIt Windows Screenshooter v1.84 Build 2019-08-18

    • UEZ
    • 10. Juni 2012 um 20:55

    Je nach Auflösung sind 30 FPS aber möglich (siehe Anhang). Nur den gesamten Desktop mit 30 FPS abzufilmen ist mit AutoIt ohne Hilfe von DLLs, ASM nicht möglich.

    Ich dachte eher, dass man vielleicht eine Doku erstellen kann, z.B. wie installiere ich das Programm X, mit Hilfe einer "kleinen" Avi Datei und da braucht man keine 30 FPS.

    Gruß,
    UEZ

    Dateien

    Video @ 30 FPS.7z 9,18 kB – 367 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™