Jump to content
Sign in to follow this  
timmy2

Intel GPU seems unable to handle this AutoIt GUI

Recommended Posts

timmy2

I previously >posted a problem I was having emulating an old-fashioned dual-projector slide show. There were random flashes and tears between pictures. While I ultimately discovered that the problem went away if I switched my W8 system to use only its NVidia GPU, and returned if I added back the built-in Intel GPU and its monitor, JohnOne supplied a solution that eliminated the video problems even with the Intel GPU. It's called "GUI double buffering".

So now I'm working on another section of my project: a countdown timer. In this script I'm using some GDI+ commands recommended by UEZ. The video problem is back: as the numbers decrement during the countdown the entire image occasionally flickers when I'm using the Intel GPU and NVIDIA GPU's. As before, the flickering doesn't happen if I use only the NVIDIA GPU. Running the script on a laptop with only an Intel GPU yielded the flickering problem, so my guess is that an NVIDIA GPU is powerful enough to handle this sort of graphics demand but Intel GPUs are not -- even a relatively state-of-the-art HD4000 with an I7-3770.

If I try using JohnOne's double-buffering solution the numbers don't even appear. I assume $WS_EX_COMPOSITED is incompatible with GDI+.

My question is: can someone show me how to modify my code so that double-buffering is implemented?  I'll include below a "double-buffering for GDI+" template attributed to monoceres, but I've gotten nowhere extrapolating how to use it in my script.

Below is the script, and here is a link to the mono-spaced LCD font used . Attached is the jpg background image used in my script. 

#cs
This is the foundation for a countdown timer based on code from Wakillon.  It used a standard form with a solid color background.
Instead of a solid color background I wanted to use a JPG. UEZ recommend some GDI+ commands.
My ultimate goal is to overlay a PNG with alpha channel transparency so LCD appears in the PNG's window
#ce

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3> ;included to try UEZ's suggestions

Global $SS_CENTER, $CountdownTime = 20000, $_Minutes, $_Seconds, $hImage, $hBitmapGDI
Global Const $IMAGE_BITMAP = 0, $STM_SETIMAGE = 0x0172

HotKeySet("{ESC}", "_Terminate") ;ESC to bail out


$_GuiCountDown = GUICreate ( "CountDown...", 832, 339, @DesktopWidth/2 -250, @DesktopHeight/2 -100,BitOR($WS_SYSMENU,$WS_POPUP),0 )
$BackgroundImage = GUICtrlCreatePic( "", 0, 0, 832, 339 )
GUICtrlSetState( -1, $GUI_DISABLE )

;I think this is needed in order to use GDIPlus commands
_GDIPlus_Startup()

;per UEZ's recommendation
$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\CountdownTimerBG.jpg")
$hBitmapGDI = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)

_WinAPI_DeleteObject( GUICtrlSendMsg( $BackgroundImage, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmapGDI))
$TimeLabel = GUICtrlCreateLabel ( "", 30, 5, 772, 293, $SS_CENTER )
GUICtrlSetFont ( -1, 240, 400, 0, "Digital-7", 4 )
GUICtrlSetBkColor( -1, -2)
GUISetState ( )

WinSetOnTop ( $_GuiCountDown, "", 1 )
$TimeTicks = TimerInit ( )

While 1
    _Check ( )
    Sleep ( 1000 )
WEnd

_Terminate()

Exit


Func _Check ( )
    $CountdownTime -= TimerDiff ( $TimeTicks )
    $TimeTicks = TimerInit ( )
    Local $_MinCalc = Int ( $CountdownTime / ( 60 * 1000 ) ), $_SecCalc = $CountdownTime - ( $_MinCalc * 60 * 1000 )
    $_SecCalc = Int ( $_SecCalc / 1000 )
    If $_MinCalc <= 0 And $_SecCalc <= 0 Then
        Sleep ( 2000 )
        _Terminate ()
    Else
        If $_MinCalc <> $_Minutes Or $_SecCalc <> $_Seconds Then
            $_Minutes = $_MinCalc
            $_Seconds = $_SecCalc
            GUICtrlSetData ( $TimeLabel, StringFormat ( "%02u" & ":" & "%02u", $_Minutes, $_Seconds ) )
        EndIf
    EndIf
EndFunc ;==> _Check ( )

Func _Terminate()
    ; I believe the following are also needed when using GDIPlus commands. Have I included everything?

    ; From Help file re "_GDIPlus_BitmapCreateHBITMAPFromBitmap" it says:
    ; "When you are done with the Bitmap object, call _WinAPI_DeleteObject to release the resources" so...
    _WinAPI_DeleteObject($hBitmapGDI)

    ; Clean up resource
    _GDIPlus_ImageDispose($hImage)

    ; Shut down GDI+ library
    _GDIPlus_Shutdown()
    Exit

EndFunc ;==> _Terminate()

 Below is the double-buffering template for GDI+ that's attributed to monoceres.

#include <GUIConstants.au3>
#include <GDIplus.au3>

Global Const $width = 600
Global Const $height = 400
Global $title = "GDI+"

; Build your GUI here
Opt("GUIOnEventMode", 1)
$hwnd = GUICreate($title, $width, $height)
GUISetOnEvent($GUI_EVENT_CLOSE, "close")
GUISetState()

; Load your GDI+ resources here:
_GDIPlus_Startup()
$graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $graphics)
$backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)


While 1
    _GDIPlus_GraphicsClear($backbuffer)

    ; Draw your GDI+ scene onto $backbuffer here

    _GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, 0, 0, $width, $height)
    Sleep(10)
WEnd

Func close()
    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_GraphicsDispose($graphics)
    _GDIPlus_Shutdown()
    Exit
EndFunc ;==>close

Background for LCD:

post-76101-0-16551200-1382393534_thumb.j

Edited by timmy2

Share this post


Link to post
Share on other sites
BrewManNH

The problem isn't in the background image, GDI+ doesn't change anything, the problem is the label itself. It flickers with or without a background image.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
timmy2

Thank you for replying, BrewManNH.  I didn't think the background is causing it; it's just that GDI+ is apparently needed to have a background image, and the presence of GDI+ appears to make using $WS_EX_COMPOSITED impossible. I assume that's why monoceres' double-buffering solution was discussed in another thread as the solution for scripts employing GDI+.  I'm a keyboard monkey when it comes to GDI+, semi-mindlessly following other people's advice and recipes.

Also, remember: there's no flicker on my system when using the NVIDIA card alone. The LCD countdown simulation looks real -- very smooth and artifact-free, except that I think LCDs fade from one state to another instead of "cut".

Do you know how to add double-buffering to my script?

Share this post


Link to post
Share on other sites
BrewManNH

GDI+ is not needed for the image to show. Comment out all GDIPlus functions in that script and the background image will still display. It will still flicker at odd times, but it will definitely show the image.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
timmy2

GDI+ is not needed for the image to show. Comment out all GDIPlus functions in that script and the background image will still display. It will still flicker at odd times, but it will definitely show the image.

 

If I comment out this line:

$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "CountdownTimerBG.jpg")

... my background won't be loaded, right?  (it's the only reference to the image file)   

Share this post


Link to post
Share on other sites
UEZ

Try this:
 

;coded by UEZ 2013-10-22
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

AutoItSetOption("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0
Global Const $hBmp_Background = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\LED_Bg.jpg")
Global Const $iW = _GDIPlus_ImageGetWidth($hBmp_Background), $iH = _GDIPlus_ImageGetHeight($hBmp_Background)
Global Const $hGUI = GUICreate("", $iW, $iH, -1, -1, $WS_POPUP)
Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH)
GUISetState()


Global Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hGfx, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hGfx, 4)
Global Const $hCollection = _GDIPlus_PrivateCollectionCreate()
Global Const $sFont = @ScriptDir & "\digital-7 (mono).ttf"
Global Const $iLen = FileGetSize($sFont)
Global Const $tFont = DllStructCreate("byte[" & $iLen & "]")
DllStructSetData($tFont, 1, Binary(FileRead($sFont)))
_GDIPlus_PrivateCollectionAddMemoryFont($hCollection, $tFont)


Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xE0000000)
Global Const $hFormat = _GDIPlus_StringFormatCreate()
Global Const $hFamily = _GDIPlus_FontFamilyCreate2("Digital-7", $hCollection)
Global Const $hFont = _GDIPlus_FontCreate($hFamily, 235)
Global Const $tLayout = _GDIPlus_RectFCreate(-26, 8, 0, 0)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global $iCountdown = 90 ;seconds
Global $iSeconds = $iCountdown

Countdown()
AdlibRegister("Countdown", 1000)


Do
Until Not Sleep(1000)


Func CountDown()
    Local $sec, $min, $hr
    $sec = Mod($iSeconds, 60)
    $min = Mod($iSeconds / 60, 60)
    _GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp_Background, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawStringEx($hGfx, StringFormat("%02i:%02i", $min, $sec), $hFont, $tLayout, $hFormat, $hBrush)
    CopyGDIPlus2PicControl($iPic, $hBitmap)
    If $iSeconds < 1 Then
        AdlibUnRegister("Countdown")
    EndIf
    $iSeconds -= 1
EndFunc

Func _Exit()
    AdlibUnRegister("Countdown")
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_PrivateFontCollectionDispose($hCollection)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBmp_Background)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc

Func CopyGDIPlus2PicControl($iPicCtrl, $hBitmap)
    Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPicCtrl, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap))
    _WinAPI_DeleteObject($hHBitmap)
EndFunc

Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iPixelFormat = $GDIP_PXF32ARGB, $iStride = 0, $pScan0 = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[6]
EndFunc   ;==>_GDIPlus_BitmapCreateFromScan0

Func _GDIPlus_GraphicsSetTextRenderingHint($hGraphics, $iTextRenderingHint)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipSetTextRenderingHint", "handle", $hGraphics, "int", $iTextRenderingHint)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_GraphicsSetTextRenderingHint

Func _GDIPlus_PrivateCollectionCreate()
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipNewPrivateFontCollection", "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[1]
EndFunc   ;==>_GDIPlus_PrivateCollectionCreate

Func _GDIPlus_PrivateFontCollectionDispose($hFontCollection)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDeletePrivateFontCollection", "handle*", $hFontCollection)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateFontCollectionDispose

Func _GDIPlus_PrivateCollectionAddMemoryFont($hFontCollection, $tFont)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipPrivateAddMemoryFont", "handle", $hFontCollection, "struct*", $tFont, "int", DllStructGetSize($tFont))
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateCollectionAddMemoryFont

Func _GDIPlus_FontFamilyCreate2($sFamily, $hCollection = 0)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateFontFamilyFromName", "wstr", $sFamily, "ptr", $hCollection, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[3]
EndFunc   ;==>_GDIPlus_FontFamilyCreate

Download missing files here + source code: http://www.mediafire.com/download/et72b8mrjjtl79d/GDI%2B_Digital_Countdown.7z

The font doesn't fit 100% to the background (is it just a simple example)!

I didn't want to use the beta which have partly the additional functions already included.

 

Added another version (needed files are embedded):

;coded by UEZ 2013-10-22
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

AutoItSetOption("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0
Global Const $hBmp_Background = _GDIPlus_BitmapCreateFromMemory(_Texturejpg())
Global Const $iW = _GDIPlus_ImageGetWidth($hBmp_Background), $iH = _GDIPlus_ImageGetHeight($hBmp_Background)
Global Const $hGUI = GUICreate("", $iW, $iH, -1, -1, $WS_POPUP)
Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH)
GUISetState()


Global Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hGfx, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hGfx, 4)
Global Const $hCollection = _GDIPlus_PrivateCollectionCreate()
Global Const $bFont = _digital7monottf()
Global Const $tFont = DllStructCreate("byte[" & BinaryLen($bFont) & "]")
DllStructSetData($tFont, 1, $bFont)
_GDIPlus_PrivateCollectionAddMemoryFont($hCollection, $tFont)


Global Const $hBrush_Bg = _GDIPlus_BrushCreateSolid(0x70B0B0A0)
Global Const $hBrush_Fg = _GDIPlus_BrushCreateSolid(0xE8101010)
Global Const $hFormat = _GDIPlus_StringFormatCreate()
Global Const $hFamily = _GDIPlus_FontFamilyCreate2("Digital-7", $hCollection)
Global Const $hFont = _GDIPlus_FontCreate($hFamily, 235)
_GDIPlus_StringFormatSetAlign($hFormat, 1)
Global Const $tLayout = _GDIPlus_RectFCreate($iW / 2, 8, 0, 0)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global $iCountdown = 90 ;seconds
Global $iSeconds = $iCountdown

Countdown()
AdlibRegister("Countdown", 500)


Do
Until Not Sleep(1000)


Func CountDown()
    Local $sec, $min, $hr, $sClock
    $sec = Mod($iSeconds, 60)
    $min = Mod($iSeconds / 60, 60)
    _GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp_Background, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawStringEx($hGfx, "88:88", $hFont, $tLayout, $hFormat, $hBrush_Bg)
    Local Static $i, $t = TimerInit()
    $i = Mod($i + 1, 2)
    If $i Then
        $sClock = "%02i:%02i"
    Else
        $sClock = "%02i %02i"
    EndIf
    _GDIPlus_GraphicsDrawStringEx($hGfx, StringFormat($sClock, $min, $sec), $hFont, $tLayout, $hFormat, $hBrush_Fg)
    _GDIPlus_GraphicsDrawString($hGfx, "Coded by UEZ 2013", 0, $iH - 14, "Impact", 8)
    CopyGDIPlus2PicControl($iPic, $hBitmap)
    If $iSeconds < 1 Then
        AdlibUnRegister("Countdown")
    EndIf
    If TimerDiff($t) > 999 Then
        $iSeconds -= 1
        $t = TimerInit()
    EndIf
EndFunc

Func _Exit()
    AdlibUnRegister("Countdown")
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush_Bg)
    _GDIPlus_BrushDispose($hBrush_Fg)
    _GDIPlus_PrivateFontCollectionDispose($hCollection)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBmp_Background)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc

Func CopyGDIPlus2PicControl($iPicCtrl, $hBitmap)
    Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPicCtrl, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap))
    _WinAPI_DeleteObject($hHBitmap)
EndFunc

Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iPixelFormat = $GDIP_PXF32ARGB, $iStride = 0, $pScan0 = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[6]
EndFunc   ;==>_GDIPlus_BitmapCreateFromScan0

Func _GDIPlus_GraphicsSetTextRenderingHint($hGraphics, $iTextRenderingHint)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipSetTextRenderingHint", "handle", $hGraphics, "int", $iTextRenderingHint)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_GraphicsSetTextRenderingHint

Func _GDIPlus_PrivateCollectionCreate()
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipNewPrivateFontCollection", "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[1]
EndFunc   ;==>_GDIPlus_PrivateCollectionCreate

Func _GDIPlus_PrivateFontCollectionDispose($hFontCollection)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDeletePrivateFontCollection", "handle*", $hFontCollection)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateFontCollectionDispose

Func _GDIPlus_PrivateCollectionAddMemoryFont($hFontCollection, $tFont)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipPrivateAddMemoryFont", "handle", $hFontCollection, "struct*", $tFont, "int", DllStructGetSize($tFont))
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateCollectionAddMemoryFont

Func _GDIPlus_FontFamilyCreate2($sFamily, $hCollection = 0)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateFontFamilyFromName", "wstr", $sFamily, "ptr", $hCollection, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[3]
EndFunc   ;==>_GDIPlus_FontFamilyCreate

Func _GDIPlus_BitmapCreateFromMemory($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    Local $aResult = 0
    Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary
    Local Const $iLen = BinaryLen($memBitmap) ;get binary length of the image
    Local Const $GMEM_MOVEABLE = 0x0002
    $aResult = DllCall("kernel32.dll", "handle", "GlobalAlloc", "uint", $GMEM_MOVEABLE, "ulong_ptr", $iLen) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
    If @error Then Return SetError(4, 0, 0)
    Local Const $hData = $aResult[0]
    $aResult = DllCall("kernel32.dll", "ptr", "GlobalLock", "handle", $hData)
    If @error Then Return SetError(5, 0, 0)
    Local $tMem = DllStructCreate("byte[" & $iLen & "]", $aResult[0]) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    DllCall("kernel32.dll", "bool", "GlobalUnlock", "handle", $hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
    If @error Then Return SetError(6, 0, 0)
    Local Const $hStream = _WinAPI_CreateStreamOnHGlobal($hData) ;creates a stream object that uses an HGLOBAL memory handle to store the stream contents
    If @error Then Return SetError(2, 0, 0)
    Local Const $hBitmap = _GDIPlus_BitmapCreateFromStream($hStream) ;creates a Bitmap object based on an IStream COM interface
    If @error Then Return SetError(3, 0, 0)
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "ulong_ptr", 8 * (1 + @AutoItX64), "uint", 4, "ushort", 23, "uint", 0, "ptr", 0, "ptr", 0, "str", "") ;release memory from $hStream to avoid memory leak
    If $hHBITMAP Then
        Local Const $hHBmp = __GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) ;supports GDI transparent color format
        _GDIPlus_BitmapDispose($hBitmap)
        Return $hHBmp
    EndIf
    Return $hBitmap
EndFunc   ;==>_GDIPlus_BitmapCreateFromMemory

Func _GDIPlus_BitmapCreateFromStream($pStream)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateBitmapFromStream", "ptr", $pStream, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[2]
EndFunc   ;==>_GDIPlus_BitmapCreateFromStream

Func _WinAPI_CreateStreamOnHGlobal($hGlobal = 0, $fDeleteOnRelease = 1)
    Local $Ret = DllCall("ole32.dll", "uint", "CreateStreamOnHGlobal", "ptr", $hGlobal, "int", $fDeleteOnRelease, "ptr*", 0)
    If @error Then
        Return SetError(1, 0, 0)
    Else
        If $Ret[0] Then
            Return SetError(1, $Ret[0], 0)
        EndIf
    EndIf
    Return $Ret[3]
EndFunc   ;==>_WinAPI_CreateStreamOnHGlobal

Func __GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    Local $tBIHDR, $aRet, $tData, $pBits, $hHBitmapv5 = 0
    $aRet = DllCall($ghGDIPDll, "uint", "GdipGetImageDimension", "handle", $hBitmap, "float*", 0, "float*", 0)
    If @error Or $aRet[0] Then Return 0
    $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $aRet[2], $aRet[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    $pBits = DllStructGetData($tData, "Scan0")
    If Not $pBits Then Return 0
    $tBIHDR = DllStructCreate("dword bV5Size;long bV5Width;long bV5Height;word bV5Planes;word bV5BitCount;dword bV5Compression;" & _ ;http://msdn.microsoft.com/en-us/library/windows/desktop/dd183381(v=vs.85).aspx
            "dword bV5SizeImage;long bV5XPelsPerMeter;long bV5YPelsPerMeter;dword bV5ClrUsed;dword bV5ClrImportant;" & _
            "dword bV5RedMask;dword bV5GreenMask;dword bV5BlueMask;dword bV5AlphaMask;dword bV5CSType;" & _
            "int bV5Endpoints[3];dword bV5GammaRed;dword bV5GammaGreen;dword bV5GammaBlue;dword bV5Intent;" & _
            "dword bV5ProfileData;dword bV5ProfileSize;dword bV5Reserved")
    DllStructSetData($tBIHDR, "bV5Size", DllStructGetSize($tBIHDR))
    DllStructSetData($tBIHDR, "bV5Width", $aRet[2])
    DllStructSetData($tBIHDR, "bV5Height", $aRet[3])
    DllStructSetData($tBIHDR, "bV5Planes", 1)
    DllStructSetData($tBIHDR, "bV5BitCount", 32)
    DllStructSetData($tBIHDR, "bV5Compression", 0) ; $BI_BITFIELDS = 3, $BI_RGB = 0, $BI_RLE8 = 1, $BI_RLE4 = 2, $RGBA = 0x41424752
    DllStructSetData($tBIHDR, "bV5SizeImage", $aRet[3] * DllStructGetData($tData, "Stride"))
    DllStructSetData($tBIHDR, "bV5AlphaMask", 0xFF000000)
    DllStructSetData($tBIHDR, "bV5RedMask", 0x00FF0000)
    DllStructSetData($tBIHDR, "bV5GreenMask", 0x0000FF00)
    DllStructSetData($tBIHDR, "bV5BlueMask", 0x000000FF)
    DllStructSetData($tBIHDR, "bV5CSType", 2) ; $LCS_WINDOWS_COLOR_SPACE = 2
    DllStructSetData($tBIHDR, "bV5Intent", 4) ; $LCS_GM_IMA = 4
    $hHBitmapv5 = DllCall("gdi32.dll", "ptr", "CreateDIBSection", "hwnd", 0, "struct*", $tBIHDR, "uint", 0, "ptr*", 0, "ptr", 0, "dword", 0)
    If Not @error And $hHBitmapv5[0] Then
        DllCall("gdi32.dll", "dword", "SetBitmapBits", "ptr", $hHBitmapv5[0], "dword", $aRet[2] * $aRet[3] * 4, "ptr", DllStructGetData($tData, "Scan0"))
        $hHBitmapv5 = $hHBitmapv5[0]
    Else
        $hHBitmapv5 = 0
    EndIf
    _GDIPlus_BitmapUnlockBits($hBitmap, $tData)
    $tData = 0
    $tBIHDR = 0
    Return $hHBitmapv5
EndFunc   ;==>__GDIPlus_BitmapCreateDIBFromBitmap


;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-05-17

Func _Texturejpg($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $Texturejpg
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'FnRR2WdFFbyWXsOCtyy9ihRuOSxwKByLyHAoOyyijsseCjss6KOyzoo7LOijssvYQ9HyIYjJnTAzJ9GNMn0Y0yfRjTIh8CMiMaZFyPgQ+T48j4FwZFyPgXAzJ9GNMn0YH+zOmD7Mn0YPszpg+zOmBD50wLgdSLkfAuD5C5HwYNjOi40XIzB9mdfszr964/BQWWOCixSUUdlnRR2WdFHZZ0UdyWdFCyORYKFG57FlCgcikoUDkUlFDkUlFHZelHZZ0UdnsdFHclnRRW5ZexRW5ZexRRYpHB6jkXkOBeI5LK2KOxSdHqPJZ0UdlnRR2WdFHZelaIejkRQhz/hxpWl6VpYhxYixFXpYhwIc0IfIixDgyORaZL0f7K0ujrJVncl0dFaWdFH8l6ODJdaVYhyYHAuRyKaGVel0UKL0U0P/AD3ohiGIwKPxetaWdFVpdnWCq0uxDihF2IqhaKR8Cgc2KRxQoMikfBVD5FJhFaWdFVpd6VR3O5d6Udl3pgrJkscUUZL0UDFNjFAxTYyhl3ooo7LGVR2ZGVWi/G/xQ5LHBQ5FJRRe5ZRRe5Z0UdlnRR2WdFCyex0ULJZ0UKNxyKR+IoH5CkoUDksrYovcs6KOyzoo7PY6PU7kUnRR2WdFFbjkvYorcsUjgocikcCgcllFFik6KHks6KOyzoo7L0rSzorRDEPgQ+RD4/HGmfyxpnTAh86YEZEYEPkXI+D48D5FyYFwPnRi4/Gv7Mj/AEYPsyfRg/nczpggyfyY0fIjBgyIZgfIuRmBmRmBi50wMzpgf450x+GNFI4KHIpHAoHJZWxQyzoo7LOijss6KOyxYHAo3LFOxQixSPxFA5FI/EocikcFDncUlbFHZZ0UdlnRR2WdFHYpOhwVvJejgrcssoUblljgUDkUjKOy9KOyxlHZYyjsvSjsssrSyxD0cCGIcaPR/wCWhGNKsRdaUIc0IcWLkci4KFyOTBWl61f4VZ9F0fZk/ks61xpV6MXGti4MmS2LgcCixmBmdLrSrH+D/wAqHoxDEPVf/B/5l+CLFqxDEMQ9HqiT+PzksjvSdI7ESOT+dWL8FqxSMoZei0sgrWPwjsX5P8P/xAAmEAACAwACAgIDAAMBAQAAAAABEQAhMUFRYXGBkaGxwdHh8PEQ/9oACAEBAAE/IS0GfiBl4E9CUzt6ltzhYFVAsVPKhpg2fULGyuoWTVCDQp8R0Rp7mWOFk7TZNPD4hT0+TzBQ6qqnM42QWeFXUMIO2+YaPo6mCHeRi6V1BkBrZpzDqIkCXpLZHsYiJV9womy6iRCp5AJ67qAhAo9qUlx1A7bHUsHouoEgUe1AQAdH1C2Gw8lks+CJ0+VCgXt2oQm8YoX3A0vEIEVZauIQDcCEzyQU1A+FQqhxqjAAm2rmEIh+io52uqj9OsqOhNtXMJddwIWTtMUPE0hUXIhwr6pSdFACW7+HiC+IdhCoB9EQfCVC1PweIxP5AjVPoS51VUL8fUY8D1KUVPJUJALRcCY2xVKAkk4HkS2EvSJjAy6hFl/ClmhSYx9xgXHkUYB79CWQlC5ZP5CEgYfaMP0hCzxCWSIuoTQn2n+hS34FzUiC5E/9Ia/QQvxHUF8QlcctlB6Ope86mngF1MAB7Qp8q6hHog6VBgGnspnVQ8zkrFpKvNQZgIz7EC5BiI8upbwHuDXCUmyvxEXK8luV/uRO3u4V8mThke5y7PxAgO6u5xfo8w7xruOgHz8TNPdxH5cnNlVXLIM/iU293Aglb44tsq7jF4UCkH88yl2IUcVdwkkUVOYfc+ZRskKPEV3CykkKyMPueUL7hAso9S3RCEgqvcrlFd8RbbeTjke4G0Amwq7mEnmyWcL3A2+2V5nVxE7Mg70LVwMil5eJ9Vdwq07xyybwRhbjO74n1FsxAcvq+YbB1wRgas7PiA+bkSZQG2+PmaWa6uFl1P3xCSCqasuUqv25nkR6cNh8hwDpNaYAAf7DCGLrw+JZ5h3L6fbiGnyQrdHpw9C9'
    $Texturejpg &= 'wMKNdwLvPkwga31Bf7aBq+SULftACZfThZWK4PMv85ORv5ios+jhWM1wZbAfKBAd/MKXtkPr6uX4QfdV3KW6yHtVdzi6jCdVc4CuDhvzOPEcvCUBVn3NQFWzCYoGuCzuNKCDSaXsSaXESRa8TfEhrQnsFpIky0OoGQUWCG3sNK8S2tB5LIpw7DmGdimZJrqIkk6RkTmLDtIGw9xZOCgNAAc7Cx3SODkvxLCcHABXsFPBp1CCCE8qchiAsAGNhKL8Jg28QCJXplkgBrYCqPaBgGfSEAN+kNrGISuQ9+IiBkwBJFp1AyQYPEDADTjyWwQgkooPJZ/6cJKBcChsldS70EFlDp9xgCA5g6HXrIdk5HAdfuE5AP8AzZQdPwyKhZsC6E1+5ogCL4fmDSyXWTmJJuLCWa9QWoL0nhJQhASMBejWUY9ihomjniYcj0Q2eBRtL2hAqt2oKYTHlTqbUfTxCgvyQUHcawodQsB9I0JE+ZoMuqlimh1GyODR8+ZYNJTgia6gLHYKqBzswWyM7HvIb50g4Ac7M5EpxJvxDZPhGxArzOMCgJu8gt+EeAF5jJwUHPGIuSFPzh2tS0eLgXdhV84eaMnOggJ8soCHrUXzZT7q4Ubt/wAzkV8Ta0/4gN5y4gOX/MOlxlTHP3U3Dy5hy/5hIB+EGGo7+7lSwQHg/iNcry9Jee5gSKOjJ3xScVpc9wEfKlB5eIBBNFFv3IqjS/ER3TplNqhj+oKaNfiFAdwWDSlSg2/KBJVq4VaBf8wUbjopiqnwnbcKW/8AcXMlU8MW9qISFFLMTKM0xVKoWbIfkpmgWolXKEAZZU0WhX2p4B2nAWl+qQ/9OIycv8p4d7iPAqF5ByjfD/KF5FCeVKpTpOylnNRcD8z4tOiTlkUgcRf6p2XPgL+y3orhUHW4qe51wQskuyjFVyVHhX4l/wDGQeFSn7zOviXpL+R3lKUguUR5yofig0cIEguUp+lQ/FKVmVNbKWFEIKMfJMi5ElXkJJbQgKJB+ZlzKAyEkXkstqUQWO4KDl7h0S5yESmxU4IDT3+zgP5Q4zryWV0UdQM7mHakPZ1wRLfD7jJAAe0zoO8ioFsvIbZI0hkhSHcy5y2EJ2y8jbGISSBSFXASEswWQaMh5WMmjg7jAQEUDYk5pSfSMRYSYABO5iSylzFrJbDCWADHcVIkvKK4iLgsDfygJTYX/tLFi/CdxLcBkH25l0Csf9mLdfqaSS3DIG1GOF0Nf8cspmu4aYkuAiyfZsJgxv2hJGhL6gCEsls/ks2JHzCwgQfKESIaTGZLqcpGmOWRH2RispzOVkuobJJKAyLD2NBAfmJFZKFmJPhADQSAkhD2nSSUIYYkeIG24FBA+YbWMWISR4haeHctYzuYCZe4FyT8RinA4D7gCUyncnnJZFsThDHsyrJntbyG78O4CSLh7DRKZqJCdPUN2qBkWB7BRKupg7PUpELWzk6loifiB8QmkqHC7L6gHlQMgqkQkIq6honbT2IHihGxT6TAjfIoeNV1LIYK6eID4O6h/bY/aqqEU46eJpYrqEhmtU30uoeQ+i4m5KuoOAa2VfVQUMtJC6gb/S5mANbBXVdRkauoBPRciBYKtUKCbLriUuYeRyDl6j4lewIaz6j94/sDIpD1G0VVlQoDmNXipYdB8Acyzg6QEEhfghQgRbqhJGzwpZPQvXiaPVdRgDHzLmCiPIgpaOkzxOni6gIT32ID0Opb9PiFdUV1GiA3w5lDSxUGh+iCyyV1BR2auZ7RXUC4t8ILJyXUDflKUKWXWQ5JvooieAuoGBU9qIGjepbjYeTW0iFdeVGGDTNniWbk9QJK+kLGuBTb+JdJXSUwi+IUBR9lMOvVQ+vpKePxBDc9oKX6pwX0gIIfJU/I2UB2fU4J+k3g+IEq5bE7K6g5uWTk4C6lINdwrsn+IgvpUCxvctMBQjeomjPuFP8A1A3hLR0HrjFhn3KRdHpw6VAu4CXHIbc9g+4dNfuWQyPcvHLY'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'XFnnT7g0A53+ywb/ABORJMFlb/KdB2Y4wyX1O5PL+0ZPOkDoP+DGHP8AiGjN3kssXSESARAcM44lAYm8hZ2YBJFjuMhoYjBWbZACbDDJWx5gYIp+YWALgsk/gl4+0ZCgPzOwYs7QmjUMhAHewdhKcF14hZgJKAd7LGzBFiT8SzLiH3A9VIORPOQtPCFnzswNM7fiWfVLQA72ZzMwS34lkm1A0GeZhPMoAdvIrQXKekINUXUDJ4ECcSg9GF1oeIGcgIF11CrdtOckQcVCDaqoj7bVD4CPU24/iej2xDnbbF5wpoml/IHSK6gSHL7AAzI4l9Q2QaqPiUkG9hXNrqWjUXKvwiHk7UIDK/iAFYjZqB5EBwX3KBKs+BL1C6jM5HECzuViz6jWQuoxKoHESs1dRW16xup4EDLQDiE3HuUi7fZ6l6l1VFcIqyowGw+aFcJ6lk7A/iDFB3Uq+f6hIGJ6QgE/r8QDjXpFgN2fMPTJVVFyO8+YLPGrqLyjfMocxVQNW3k3hC6mHZsruPqXYHhPr8RWO7ZQJ2ZuK6gbyEaDM1tBlZwEFdMS3aSkLxUUV4dSg3cDess2K0pMykeYGd9QwDGan2Ux2VU/8pxx3AlUV3VDYBPKD1QL9yUzygwPOpycQKuUD1QgPkgTCLM4YvmWbVO9eYEChZlaKFkMS2Vh7B0L+Z2vzL5p7h5HJsw8vmaibeRieHzD1zuCuYrucBm3k0MV3AcjlszmQJS9ZLJY+ZZ4G2Cuk5MAHJnpz1fmEnqHbgb/AGIgVsxWf7SyHoQMJ8jnkbdwraqjOgnuDNfmUGmXc5N9oGVh7hYFYduFXG9zkyPUZP8ARKFoPXAQHJvcJF63kIkMV3LZY9+ZlmO5zJNvID0fmXQDlcwP3SkzyyFnrdpxC9oK5K7la32JyGXzHQk2+JQtfMKgW+BwrTHcIkGFS3Cvry4EOzdxB2VY5ZAdH3KHT5gQUSUOuVdwsgYe4CXsO5QqW9wpvXhx+A9y7R+ZQ5HuFMivqFnge4NpXcoaPmcid6mh+yPAFdyn9kRnvU0jFdxqdtmHlWuACzt5Dh18z6DuCuSu51dvJzdfMbDjtLZXAq5M02XzBgdCeRcA4UIE0LzKAaL1cFhKE5QL4mE7MNC7qEMlQ6gs0+koVsuEGmXDh4HU3g+IKOmXsy1/EOuuoLQcOo6dvfMwPwIBo48m1/CDKFvV5hon+E5iaeS4R+ESgB9xCzh1FTFjqCDiPklC4S6gac/Es0r6nUF5UCJgyipj8QGFp6lLDGyrLDlQBLUIZBTqUUPpEAwM9z/gILM42KAtaV1ONMvVDQ9GKaTGyAPxOpQobapn6Ccie1TSF+E6dozleELQnlkBNHDqPAeSFY0VVCwQtQASar4hYFHlH2C6jADYVUYksTGHmYS3TqWLteKAXwQWgvMwJGNhpM5ZKmBf8kNF7TyXxGIKKEJdRGGjL2WF+iFkzg6jZQR009w0H6JyODqWrVdQmjnuYD4RrcPJaKqgOALezsuYxzqWaVU4AGvZlrmMbHULJKqC0t7mWuDA7DyAjyQqN1RQdFQJjwlM0cL4FG41K+GIj2Q71gfUgI+kVl8p6V7gbr/xE/bc4uSesBcGWq/8Q1SDVwUB5wrwcS/FvlQGzXyzKaW0r0oSU2Q7blNLimYIoUAmjRSzSEvlC+EBxmaJcxBzmIi3CTjAjPVQwxsqEEZFkKKcl5XAAC33CrpahD4x8xsAe0oeu4NfChPjHEt6efiY67uBI+c8QdXCP/eQLu5XCHPf5j5gKq5e6f5U4+NykV+bmeYA8XL1TwHpNXcKRm08nq5ZoCBz4zDbdyny9eIS+GLwqADtPuaO4X1j3CLoUoHT5iaX1C8Ycu+DgValBsxvH5lsvlPl+YUizBzUeoX1RhU1EbynDxqfugxuVdv+p8FQ4HA0+ECzZiaDIMDga1AqWuWypnaYbOeSNNFUFPnzM05ul4m9KlCG3sw7CJISvEsqOQAd7Nc0g0T9S0HY'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'Kcjwl/JBo+0px+qdtBz/AIMCQWw6bjuHDj9EHjYGStTjlEjZwMiGnhMAfaZpzboshSmA8+YKItzSLV5LK2k4IF+ZmzSI6PxCzyFTkB9w13KnAv4lnlDyO9gY7lLsTzk1BwB3sBWlJQAt+JZKBY4eZpCIBEvxGLYHAF5gJB8EPlAdjEZOEnRMYbGLINw3jGx0H2hCLJ8QGYlXkbPghoEaXsS7TQSSvE3pUtx2ixypNMYseYOwAMGh2O5PMX8U6AGGBtIlZPOQWtpHkFewUTRKY5vpNJi1ALLlajAo1m8mk3FkANbDTqMBEk+JY2IhsEIaNNbMLmBZNrxNVGKIA/MxWY7NeIAyIfk8/wDwLgklDqFlbHAA72GiNJQ6JPOTQ8JgPzAURzU/bkFkcVPA+4K5kocb5yG4W6eZhaYcB3xN5UgsCl5lvigvAHAk5SpHYccECiVzDOEcoInjKu1zrgpgrtK+KMUNtPLxUPYoP4bgVDY/0xdtfME2PklDPKjwMKgQE7ngeE5SsNgTtACiKoOkBGg6lDvUPxzcAIKOcpck58MGUARhVuJzGhHA8TliQjm1cq3B5HxUZZV/MC4hVzUa35nI4+Iz4P4g3K5jCxvCaV8QufL8QqZClX5wp/RGZ8vxD6VKhBPnVRd5U3QphBO2cYThm6gRFEgLkqhxVOD4InDAu5PBTjGlDiVNM4distklKYlLgrBkPqEbI8YiPnDmmRvFMuChz2lJCq8nwlcK45RP1ThRQaop62FfBPogpNmcMVOnUBQ0gpBZhu1SzargoFh3EACuocarychhQEoFh7BSVlT3vUPZiDiBXcyl13CRvXkY2r5hFRx3BRK5Vnbybdip0VdzTUOnLyaTMcOB3NP2QADbPUHkYDKYQlaHEBtmCy6NFEHCaDKllL3L5gJJakJGLQUUJJTbFeRyDpGXFg9goFZUNgtzjhZsx8y3AzuYeRdwpydeQkkHXzBtCu5oQoZJLiz/AETqMcLD8snKW+EsjYV3CSl22AohXOzZeTW+HBlkBgeyrgKts9SzivmBnidzCVyiVmDliIx4kNNcNmK40mjxLJek6D8zDZ8ouRXiFnfyg4AMdwUCt7hs39SyR+yMiBncwi0dxPqWSCaqHQGdzAV13BhEl9SyDqoXTh7AUaup+fEHdipdMHcylwYLZ6mmyo6DB3MpdQUuTMCSzO4TEGEokNUlgRli0NIhwppnmFYigh3MAXUsCTtwXbqHrhygKduZybqO1w1DwcwN8w9YTg4cNEKcvMFk/EshC4TDDZcdWoCxcRsSgBE5FwmW7hkl6nAgFpl7dOMhFTgpURhIkOEiA7hopLs1mWtBNEeQJxKmvzL36hJYcNQYVcQQ3LuWcqh3pFFU59muc26nxEE4FRI+WuX6KWI5SaqAAOBdTSuHSccuqqiAAgXNibmxCRQ6hApCsQQwh3O5QlAGSoYuA2OuA+SobAMh4KliPNytqpUuDlwxAZE7LL6hW4OUFQA55lF9T6INFIOXKl7dQ8DhzgdTGGpyzJyBxCUC6mONn//aAAwDAQACAAMAAAAQcYY24euyC2++ifr3TXP76nb/AB12h38z7rjvuktpjlnigqgqFKDKIGJJmhlpjluoqirhizz4/wDPPv8AzvGe3yu/euKqS6eW+KCSMm8cIcoE8Wqom6QC2ea6umWOHHTjDXrT3j/bnC7n/e+GuXmi++umiuGAEQwg0k0COmWKOW+6PWCiWXbfbn3u/nK7j+aXqTX2yWH6iWyq6CiyogEg0iaK+q2iuO2KOauGHrrTfnfTXSCnH/8A/wB8PtJrZq6ZqZ5BB7aBrxzCwxKL6TZYI7+5I56r+b/Mde4+edcOf/eqN6p7IKJIo5b5pwZQjThgQDYKZ7I9vuK79ouq4JOdtvLs9fN69Ner6KZMa77b74Jbxw6QiAwRTyo76K78+sPqIKJYJ8bOd9aLNOM4Pv8Azi+KLamLLaumI4wGAU8QcOiWqe2CX/Dz63uu+bDX'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'SebfXGMEIrW8uRVSTn95JTW9XB0Cdrf1lAGjs8/7zZK6OeDzkrNXk9YVuGLb8YQHgbflzzCO74MGipKXb3o95a9UHh25TQ2lP7y8taL4FygpN3zvGPRJjPLIAPXbq84zZuFbx94cit5fd4mNCx8HnfnGwGX2984WAtS74zRStuXfjA3KANPp3iqU0nLgxqQrT/pgCq8KyFXQa3LzvFOnlvGs2re6971honvhc2T6BB+cbboN39ZAnhzeXEA06C8HnGpO9Go/64Wnst51x6xwjN2vP+8lGsNvrnFKMngfn/OQpQ4b+vWICIM2/LkWm4t4POChh393j3c0MoKeWCAFWqed7cl1KfUYKF59+7x7zY0zXljQ2tTfq8551JGpo1gNgla1ejEEp8A5YDzC3Lc84ILaN0YTCqTL3dEwrKOgcvnKcJAL3LzjNLYVU1jRU399XxgKbVwOTF3UyS9b3lOCptXjesIitxt1fGCh5ZDp7yWiD29uIyW3avfWbGmxC539LB684gGj2O8REodk9zjADCQkr+cSlKeD1Mo1BeHfoxpKCuz3OMY5LvT+2Abf0OpkolG/a+MSK1O/cwjUw/DW82KTnlrHank65Pi44DlN/wA5qwiRVNGIWqvB1+MGg9QPPq49Ul9/3hdzfJ4GAoCV31bxlfb1A84lAeLbq85ClXJXjBTtRvbV8TBRWnoecaItZt1ecbW0m68YItc+2r4yUtqSPPvFIBBOWC6r3NwbK24veO4AYH+M3wF0xGlNs+jG4f4wFwDZo6mAEVvP1jn2Nv3iE0PB7wmjNprxkEwad/BiC3CvvE6ASQ9zEJgbmjO2tl949exvMUh0pnrIkBR4PDht+Jb7uOpINBMVHxHq5yJIVncwjWd73biRlAAE8uJy7Qn3iagsXXzng7g3urjmhkcesWxsWJ+cauPevO8ALBpuecAcAiE63iJtVp8GsKLnLo+cIcB1v5MIGRUN/eMVUaj8ZUslkMgsgwOPWAgi1Nng1ivk2+0xKuA0HWcEQZNeJkABatfVmUVdXZ3i64awOLP94SQFozszggtLPFmK5CCQTvGAaNA8XCBJQjDmcZCsHZs3biZ7AEuCOyserxi2kpqHJiGA89N3AOgQEpxecX4Kes1pAI65yAILTRu3OURAlOLcStb1nq8YqEhNgZAgGujdwiQQhTjNDfwnxi0CAiwPeQQBVneAnkMKcYg306JzFx6NSmHneSeKNzAIohgpxig3NsfWI+gWwxGkjYGKlLSp1M0kAFj5MRlELDCTDQaOtYEwVy/OI/AnZ3rEXyDR8YBMlMZ4mAWB7J7zgxFbO7iRtSJ6XOFFM0YRwdm95qssspxjAOonpzpRTcM1Gcmzdx8CzTWNp6E9Y5AAm9YTjNDfeEuRgCmbK70zPEFTgBgANTvCOAyBTjOUduMY2g9TIEAabmf/2Q=='
    Local $bString = Binary(_Base64Decode($Texturejpg))
    If $bSaveBinary Then
        Local $hFile = FileOpen($sSavePath & "\Texture.jpg", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_Texturejpg

Func _digital7monottf($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $digital7monottf
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= 'TFAETVQEEHUHBj8YATMnAjXwNCYnNV4XgiVCZIQ2fwElUgAnBxMB0wGSAhM3Ng8BACfloDwBvR6LUgpgKEYo0CZklgDIlZIAJ5AAYzYB/spAACpa4gAKlgAyIgQBj6CfATy+lyEEPFABJnhBa5MA/npPAXgeNVIACfAAjZIA4QQBIwUgBL8AewDcAggBtizyOfY9AfM9QWEDUWjJ0XMBLNBxAghQQz8DH6UwMANhjjIDoDgzASxEKCigQCgooOABjBEwA3wC0TADCQA7f5Nn4R9BM5F8NZLRg5GQBXVwAAsxIgNAAdI01EYTVdAIHyIJ3BAJoFEJCd1QCaGRCWEIcQZ9fwYhdf9xBlFugUtxBpGWfgaCmnEGVREMF0EA3FAMoZUMnwPRDCESZADcAYYBWv7AMw90QaEMAPFQIgAmNTQ2MzIWFYAUBvU8VVU8MAAe3FIAMACyAwBWAdYBnpCwOrMDBRSVcAGuAG+umIA+om1zWAowA+o/A1U3A8IwA3A5AweCA+CFNEEPNkGluABu4lRoDQBxcAAZQAFxABCr4KtxAABwABACMguUALUzWg8AMh0wAxMBGdKYMeE2IwAZEgGRfyvcjXAJEyAEgQQLABRyAKodEFxxYBgTAAIE4BeqFHAAB8SDE4IGDpACOgvkRhgChXF38GshEYIhkXcBBxEXAVRmS7BStTcRszcBmrASCiBQASz+1eF4Z/4gtlBQAZDDaJaCOSABvqC2MMGBAXr9lEAeAkQe/ca1ar7lEQLc4QMY+qAAMW8UAAC4AOwB2gKSAwBqBBQELgRyBAC6BRYFUgVsBQCGBZ4FwAZaBgCOBxwHjgf2CACGCSgJlApMCgDyCxwLRgtuCwCWC74MQA0KDQCoDkYOmA8aDwB8D84QaBDgEQAQEXQR8BI2EgDYE0ITqhQkFADCFV4V9BYwFgCoFxIXshf8GAB8GLwZChksGQCAGaIZvhnWGgB0GxIbZBvmHABIHJodNB2sHQDcHkAevB8CHwCkIA4gdiDwIQCOIioiwCL8IwB0I94kfiTIJQBIJYgl5CYEJgBgJrgn1CfuKAIIkGJwKI4oqCiIwilgcA0gAYZxIbUCAISWAAFQd9UAAiBbqpa0AANwAZ60AASwAIKwtAAFADYAwrQAIAwAMgD4tAATABgUASrQBAMAXAE+QbQAAQAJAZq0AAIwAAQBo7QA0JgBp0G0AAQADgGwtAAFMAAZAb60AJDVAdcVtAAIsDPktAAJABEEAgK0AAwAGQITQbQADQBBAiy0ABMQAAoCbVAGAQQJMdAAuAJ3tADwDgMvM7QA8A4DQbQA8A4DSUG0AAQAHANbtAAFCAAyA7UDBgAaA4KptAAIADwDw7QAYAkAIgP/tAAwEQSCIbQADQCCBFO0AAHwEQTVAEMAcgAgZQBhAHRQAGQAICAAYgB5UABTAAhpAHoQAW4AawCib/AAQQBs0AB4cAKqblACZTADLlABqTAAqDIAMBAAODIDdLADsXECLQA38gFRA2xwAKJy0ARnAGjwAXPSABZlcAAxBHYyBy4ARLXyAWnwAWHwAtEDTVAHrm4wAJ8BHwFWMAUxUARBcQggAE8AY7ABIEWwADJyATMAOpAANI9QAPMB9QrRCHQAcHAB6i8QAHcSAC5wCTUMEQpV8QluUAFjkAhtUAMxVdADM7AENRAnNzAEOQBDcmVhdGVkIABieSBTaXplbgBrbyBBbGV4YQBuZGVyLiCpIAAyMDA4IFN0eQBsZS03DLMALiBBbGwgcmkAZ2h0cyByZXMAZXJ2ZWQuIGgAdHRwOi8vd3dAdy5zdHlsAFx2AGVuLmNvbURpAGdpdGFsLTdNWG9ubwYwBhAgASwxAC4wMCBPY3QgADAzIDEzOjI0QjoAHjIwMDgKeEMAcmVhdGVkIGIAeSBTaXplbmsCbwCKZXhhbmRlDHIuDxIWkUZyZWUAd2FyZSBmb3IAIHBlcnNvbmEAbCB1c2UuDQoGRgASACJtZXJj'
    $digital7monottf &= 'aUEDFCBwbGVhAAZjEG9udHUAonVzLgAwMTIzNDU2NwA4OQBDAHIAZRAAYQB0gAJkACAQAGIAeYACUwBpBAB6gAhuAGsAb1GAB0EAbIAGeIATblWAEmWAGS6ACqmAATLUADCAADiCGXSAHYETWC0AN4IPgRpsgANyUYAmZwBogA9zggZlO4ADgSF2gjmBFIENdACgcAA6AC+AAHeCAF4ugBKFKIEXgRZugApjUYBIbQBEgilpgBBh64AQgThNgAtugAGPDI8IGiBGCzFAFEEwIABPRUAWdMABMAAzQAEx9UABOkA3NEABwwdFOlceV/lSXwnvSEbCI2XACWFRQgIgAGbABXLAAXCNQhRzwi1BMSAAdcIP4C4ADQAKwA1DCUMRem3CCmPAJ0kKwRBBHWHrRAPBCm7AInVEUUEJQVaKMcBNM0BRNQA2QEqAOAA5AAACAAIADP+IABoRAGsAAAECAkAJAwAEAAUAgAYABwAIAAmAJQgLAAyAJw4ADwAAEAARABIAEwAAFAAVABYAFwAAGAAZABoAGwCAHAAdAB4AH4AfACEAIgAjACQAACUAJgAnACgAgCkAKgArACyAawYuAE/REjoAOwA8AAA9AD4APwBARcAvQsA5RABFYBRHAABIAEkASgBLFABMQD1OAEVQAFEEAFJANlQAVQBWAABXAFgAWQBaAABbAFwAXQBeEABfAGDAIsYAtgAAtwC0ALUAhwAAsgCzAIsETqhVTEwjHAMgGgKgGCgB//9gAQGDAgEEAAK8AABvHAK8/AE1p4sDAEUj4wJgBWAB'
    $digital7monottf = _Base64Decode($digital7monottf)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($digital7monottf) & ']')
    DllStructSetData($tSource, 1, $digital7monottf)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 33992)
    $tSource = 0
    Local $bString = Binary(DllStructGetData($tDecompress, 1))
    If $bSaveBinary Then
        Local $hFile = FileOpen($sSavePath & "\digital-7 (mono).ttf", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_digital7monottf

Func _Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    $tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    If @error Then Return SetError(1, 0, 0)
    Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    If @error Then Return SetError(2, 0, 0)
    If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    Return $aRet[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Br,
UEZ

Edited by UEZ
  • Like 1

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
BrewManNH

If I comment out this line:

$hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir & "CountdownTimerBG.jpg")

... my background won't be loaded, right?  (it's the only reference to the image file)   

Try thinking outside the box, obviously that won't work, you need to reference the picture in the GUICtrlCreatePic line, not the GDIPlus lines. 

  • Like 1

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
timmy2

Thank you UEZ and BrewManNH.

UEZ, both examples are marvels of sophisticated programming and neither causes any flicker on an Intel GPU.  I prefer the first one, "Digital Countdown", because it uses my JPG background. I'm curious why you don't use the installed Digital-7 font but instead -- somehow -- use it on the fly (I discovered that the font file must be in the script's folder). Is this how you're avoiding flicker?  Here, perhaps is a diagnostic insight: I loaded the original flicker-causing script onto another machine that didn't have the LCD font installed and I saw no flicker using the default font, but after installing the Digital-7 font the flicker was back.  Your "Digital Countdown" script that "uses the font on the fly" exhibited no flicker.  There's gotta be something to this and I think it's important to pin down. 

BrewManNH, all I can say is "Doh!"  In another thread UEZ suggested using GDI+ to allow displaying a JPG as background in Wakillon's countdown timer script. I had tried using GuiCtrlCreatePic for this in an earlier iteration and failed, so I assumed GDI+ was required. Well, I'm wrong and you are indeed correct Sir! I works great -- except for flicker. 

Here's the thing: I could mindlessly use UEZ's "Countdown timer" (after solving the LCD misalignment problem) and move on, BUT... I want to learn from this experience. Neither of you, nor anyone else, has replied to my initial question about adding double-buffering that's compatible with GDI+. Based on UEZ solving my dual-projector slideshow flicker using the exStyle "$WS_EX_COMPOSITED" I figured it's the secret sauce, but in the GDI+ script it hides the countdown numbers. Even when used in the super-simple no-GDI+ script suggested by BrewManNH adding the exStyle "$WS_EX_COMPOSITED" hides the countdown numbers.

So in my slideshow "$WS_EX_COMPOSITED" is a secret sauce; in this instance -- GDI+ or not -- it's poison.  Ack!  All I know as a noob is that elsewhere in this forum there are posts where the complaint was flickering and the solution was "double-buffering".

;Here's the script without using GDI+, per BrewManNH's suggestion. Flicker mania when using the TrueType font.

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $SS_CENTER, $CountdownTime = 20000, $_Minutes, $_Seconds, $hImage, $hBitmapGDI

HotKeySet("{ESC}", "_Terminate") ;ESC to bail out

$_GuiCountDown = GUICreate ( "CountDown...", 832, 339, @DesktopWidth/2 -250, @DesktopHeight/2 -100,BitOR($WS_SYSMENU,$WS_POPUP),0 )
$BackgroundImage = GUICtrlCreatePic( @ScriptDir & "\CountdownTimerBG.jpg", 0, 0, 832, 339 )
GUICtrlSetState( -1, $GUI_DISABLE )

$TimeLabel = GUICtrlCreateLabel ( "", 30, 5, 772, 293, $SS_CENTER )
GUICtrlSetFont ( -1, 240, 400, 0, "Digital-7", 4 )
GUICtrlSetBkColor( -1, -2)
GUISetState ( )

WinSetOnTop ( $_GuiCountDown, "", 1 )
$TimeTicks = TimerInit ( )

While 1
    _Check ( )
    Sleep ( 1000 )
WEnd

_Terminate()


Func _Check ( )
    $CountdownTime -= TimerDiff ( $TimeTicks )
    $TimeTicks = TimerInit ( )
    Local $_MinCalc = Int ( $CountdownTime / ( 60 * 1000 ) ), $_SecCalc = $CountdownTime - ( $_MinCalc * 60 * 1000 )
    $_SecCalc = Int ( $_SecCalc / 1000 )
    If $_MinCalc <= 0 And $_SecCalc <= 0 Then
        Sleep ( 2000 )
        _Terminate()
    Else
        If $_MinCalc <> $_Minutes Or $_SecCalc <> $_Seconds Then
            $_Minutes = $_MinCalc
            $_Seconds = $_SecCalc
            GUICtrlSetData ( $TimeLabel, StringFormat ( "%02u" & ":" & "%02u", $_Minutes, $_Seconds ) )
        EndIf
    EndIf
EndFunc ;==> _Check ( )

Func _Terminate()
      Exit
EndFunc ;==> _Terminate()

Share this post


Link to post
Share on other sites
UEZ

@timmy2,

the reason why I don't use controls for such stuff is the flickering. I didn't find a way to avoid flickering and the way I've choosen is a mixture between GDI+ and controls which works perfectly.

Of course you can use GDI+ only to display everything but have to add repainting code when window minimizes / maximizes repectively move off screen and back again.

Regading your background image: I would repaint it but without the digits because you can draw it later using GDI+ as I did in the second example. Thus you avoid any mismatches with the drawn digits (countdown).

 

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
timmy2

Thank you, UEZ, for the added insights. I'll see if I can figure out where in your second example you separate the background image from the faint outline of the LCD digits.

You still don't appear mention "double-buffering" -- at least not that exact term. Any reason?

Share this post


Link to post
Share on other sites
UEZ

Double buffering using GUI style aka $WS_EX_COMPOSITED is not working properly and that's the reason why I copying the bitmap to the pic control. For this task the performance is good enough. For time critical stuff this is not a good choice.

If you ask for a double buffering using GDI+ only than I can show you a simple example.

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
timmy2

I apologize but I don't understand. You are correct about the exStyle not working in my script -- it disables display of the countdown with or with your GDI+ additions. Can you explain why? (it worked great with that dual-projector slide show script)

The next part of your reply, "that's the reason why I copied the bitmap to the pic control", you've lost me there.  I don't know if you're referring to my existing script or your two new examples.  

Then you write, "For this task the performance is good enough. For time critical stuff this is not a good choice."  I don't know what that refers to, but I wonder if you're referring to the phenomena I wrote about last night:

1. default font has no flicker with Intel or NVIDIA GPU, when using GDI+ or without (per BrewManNHD).

2. Digital-7 TrueType font when installed and used as a system font has flicker with Intel GPU but not with NVIDIA.

3. Digital-7 TrueType font when loaded and used by your 1st for 2 recent script -- not using the installed version of the font -- does not flicker on Intel GPU or NVIDIA.

It seems like the conditions most likely to result in flicker -- and apparently be so demanding on a GPU that only an NVIDIA GPU can handle it -- is when using an installed TrueType font.  That's my take based on the evidence at hand.

Would you say that double-buffering will not help if this is the case? (remember: I don't know what double-buffering is; it's just some secret sauce that you previously recommended and it worked)

I'm trying to resolve when double-buffering is called for and when it's of no use, kinda like I said previously to you that I'd like to know when GDI+ is called for and when it's not necessary. You know: get some perspective, a sort of mental flow-chart to follow when tackling a script that uses graphics -- not fractals or lissajous figures! -- just text and bitmaps like what I'm doing here.

Regarding your last sentence, "If you ask for double buffering using GDI+ only, then I can show you a simple example." --  I assume monoceres' "template" illustrates double-buffering purely for a GDI+ script.  What I'm interested in at the moment is whether it can be used to fix the flickering problem with the script I started this thread with, which I gather is what you referred to when you wrote, "a mixture between GDI+ and controls".

Edited by timmy2

Share this post


Link to post
Share on other sites
UEZ

I apologize but I don't understand. You are correct about the exStyle not working in my script -- it disables display of the countdown with or with your GDI+ additions. Can you explain why? (it worked great with that dual-projector slide show script)

Unfortunately I don't know why the exstyle is hiding label. Maybe because you set the bg color of the label transparent and this is not working with the exstyle.

 

The next part of your reply, "that's the reason why I copied the bitmap to the pic control", you've lost me there.  I don't know if you're referring to my existing script or your two new examples.

I'm refering to my examples. To avoid flickering I completely draw the graphics using GDI+ and converting the GDI+ bitmap to a GDI bitmap. Afterwards I send this GDI bitmap to the picture control which needs a bitmap in GDI format. Each update copies the complete bitmap to the control which avoids flickering.

 

Then you write, "For this task the performance is good enough. For time critical stuff this is not a good choice."  I don't know what that refers to, but I wonder if you're referring to the phenomena I wrote about last night:

 

1. default font has no flicker with Intel or NVIDIA GPU, when using GDI+ or without (per BrewManNHD).

2. Digital-7 TrueType font when installed and used as a system font has flicker with Intel GPU but not with NVIDIA.

3. Digital-7 TrueType font when loaded and used by your 1st for 2 recent script -- not using the installed version of the font -- does not flicker on Intel GPU or NVIDIA.

 

It seems like the variation that is most likely to result in flicker -- and apparently be so demanding on a GPU that only an NVIDIA GPU can handle it -- is when using an installed TrueType font.  That's my take on it based on the evidence at hand.

Well, converting the GDI+ bitmap to GDI and afterwards sending itg to the picture control takes more time than displaying the GDI+ directly in the GUI. Each 500ms I update the graphic and when you check the CPU load of the process you will see that the usage is very low.

 

Would you say that double-buffering will not help if this is the case? (remember: I don't know what double-buffering is; it's just some secret sauce that you previously recommended and it worked)

Double buffering is to complete drawings and copying the finished bitmap to the graphic handle instead of drawing each element to the graphic handle which cause also flickering! In fact my understanding of double buffering is different...

 

I'm trying to resolve when double-buffering is called for and when it's of no use, kinda like I said previously to you that I'd like to know when GDI+ is called for and when it's not necessary. You know: get some perspective, a sort of mental flow-chart to follow when tackling a script that uses graphics -- not fractals or lissajous figures! -- just text and bitmaps like what I'm doing here.

Here an example between buffered and non buffered GDI+ gfx handles:

; *** Start added by AutoIt3Wrapper ***
#include <GUIConstantsEx.au3>
; *** End added by AutoIt3Wrapper ***
#AutoIt3Wrapper_Add_Constants=n
#include <GDIPlus.au3>

_GDIPlus_Startup()

AutoItSetOption("GUIOnEventMode", 1)

Global Const $hGUI = GUICreate("GDI+ Test", 600, 600)
Global Const $iPic_NonBufferred = GUICtrlCreateLabel("", 0, 0, 600, 300)
Global Const $iPic_Bufferred = GUICtrlCreateLabel("", 0, 300, 600, 300)
GUISetState()

Global Const $hGfx_NonBuffered = _GDIPlus_GraphicsCreateFromHWND(GUICtrlGetHandle($iPic_NonBufferred))
Global Const $hGfx_Bufferred = _GDIPlus_GraphicsCreateFromHWND(GUICtrlGetHandle($iPic_Bufferred))
Global Const $hBmp_Bufferred = _GDIPlus_BitmapCreateFromGraphics(600, 300, $hGfx_Bufferred)
Global Const $hGfxContext_Bufferred = _GDIPlus_ImageGetGraphicsContext($hBmp_Bufferred)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Do
    _GDIPlus_GraphicsClear($hGfx_NonBuffered, 0xFFF0F0F0)
    _GDIPlus_GraphicsClear($hGfxContext_Bufferred, 0xFFF0F0F0)
    _GDIPlus_GraphicsDrawString($hGfx_NonBuffered, Random(11111111, 999999999, 1), 0, 60, "Arial", 80)
    _GDIPlus_GraphicsDrawString($hGfxContext_Bufferred, Random(11111111, 999999999, 1), 0, 60, "Arial", 80)
    _GDIPlus_GraphicsDrawImageRect($hGfx_Bufferred, $hBmp_Bufferred, 0, 0, 600, 300)
    Sleep(30)
Until False


Func _Exit()
    _GDIPlus_GraphicsDispose($hGfxContext_Bufferred)
    _GDIPlus_GraphicsDispose($hGfx_Bufferred)
    _GDIPlus_GraphicsDispose($hGfx_NonBuffered)
    _GDIPlus_BitmapDispose($hBmp_Bufferred)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc

Regarding your last sentence, "If you ask for double buffering using GDI+ only, then I can show you a simple example." --  I assume monoceres' "template" illustrates double-buffering purely for a GDI+ script.  What I'm interested in at the moment is whether it can be used to fix the flickering problem with the script I started this thread with, which I gather is what you referred to when you wrote, "a mixture between GDI+ and controls".

As I said I don't now the way how to fix the flickering problem with non GDI+ functions.

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
timmy2

Thank you BrewManNH and UEZ for all your help in this thread. Both of you provided me with valuable insights and additional understanding of Autoit.

UEZ, Sensei - you turned my simple post into a master class with your final two examples.

Below are my slightly modified versions of the two scripts. I wanted to continue using an LCD panel background I'd created in Photoshop. Your second example is particularly wonderful because it creates an LCD electrodes layer that perfectly matches up with the numbers as they count down, AND it needs no external files. Two bad I started with an LCD font that has one major design flaw: the author isn't consistent in the LCD elements, so if you watch the numbers appear over the LCD electrodes you'll see black elements (like the top horizontal element of a 5 or 6) that are longer than the background electrode. If anyone finds a perfect monotype LCD font please add it to this thread.

Here's UEZ's script that allows use of my LCD panel background jpg, which is now named LCD_Bg2.jpg. post-76101-0-34394200-1382766159_thumb.j

;coded by UEZ 2013-10-22
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

AutoItSetOption("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0
Global Const $hBmp_Background = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\LCD_Bg2.jpg")
Global Const $iW = _GDIPlus_ImageGetWidth($hBmp_Background), $iH = _GDIPlus_ImageGetHeight($hBmp_Background)
Global Const $hGUI = GUICreate("", $iW, $iH, -1, -1, $WS_POPUP)
Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH)
GUISetState()


Global Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hGfx, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hGfx, 4)
Global Const $hCollection = _GDIPlus_PrivateCollectionCreate()
Global Const $sFont = @ScriptDir & "\digital-7 (mono).ttf"
Global Const $iLen = FileGetSize($sFont)
Global Const $tFont = DllStructCreate("byte[" & $iLen & "]")
DllStructSetData($tFont, 1, Binary(FileRead($sFont)))
_GDIPlus_PrivateCollectionAddMemoryFont($hCollection, $tFont)


Global Const $hBrush = _GDIPlus_BrushCreateSolid(0xE0000000)
Global Const $hFormat = _GDIPlus_StringFormatCreate()
Global Const $hFamily = _GDIPlus_FontFamilyCreate2("Digital-7", $hCollection)
Global Const $hFont = _GDIPlus_FontCreate($hFamily, 235)
;Global Const $tLayout = _GDIPlus_RectFCreate(-26, 8, 0, 0)
Global Const $tLayout = _GDIPlus_RectFCreate(-2, 6, 0, 0)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global $iCountdown = 90 ;seconds
Global $iSeconds = $iCountdown

Countdown()
AdlibRegister("Countdown", 1000)


Do
Until Not Sleep(1000)


Func CountDown()
    Local $sec, $min, $hr
    $sec = Mod($iSeconds, 60)
    $min = Mod($iSeconds / 60, 60)
    _GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp_Background, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawStringEx($hGfx, StringFormat("%02i:%02i", $min, $sec), $hFont, $tLayout, $hFormat, $hBrush)
    CopyGDIPlus2PicControl($iPic, $hBitmap)
    If $iSeconds < 1 Then
        AdlibUnRegister("Countdown")
    EndIf
    $iSeconds -= 1
EndFunc

Func _Exit()
    AdlibUnRegister("Countdown")
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_PrivateFontCollectionDispose($hCollection)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBmp_Background)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc

Func CopyGDIPlus2PicControl($iPicCtrl, $hBitmap)
    Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPicCtrl, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap))
    _WinAPI_DeleteObject($hHBitmap)
EndFunc

Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iPixelFormat = $GDIP_PXF32ARGB, $iStride = 0, $pScan0 = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[6]
EndFunc   ;==>_GDIPlus_BitmapCreateFromScan0

Func _GDIPlus_GraphicsSetTextRenderingHint($hGraphics, $iTextRenderingHint)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipSetTextRenderingHint", "handle", $hGraphics, "int", $iTextRenderingHint)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_GraphicsSetTextRenderingHint

Func _GDIPlus_PrivateCollectionCreate()
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipNewPrivateFontCollection", "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[1]
EndFunc   ;==>_GDIPlus_PrivateCollectionCreate

Func _GDIPlus_PrivateFontCollectionDispose($hFontCollection)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDeletePrivateFontCollection", "handle*", $hFontCollection)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateFontCollectionDispose

Func _GDIPlus_PrivateCollectionAddMemoryFont($hFontCollection, $tFont)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipPrivateAddMemoryFont", "handle", $hFontCollection, "struct*", $tFont, "int", DllStructGetSize($tFont))
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateCollectionAddMemoryFont

Func _GDIPlus_FontFamilyCreate2($sFamily, $hCollection = 0)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateFontFamilyFromName", "wstr", $sFamily, "ptr", $hCollection, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[3]
EndFunc   ;==>_GDIPlus_FontFamilyCreate

And here's UEZ's second script that embeds the background and font in the script using his "File to Base64 String Code Generator".  I used that generator to convert a version of my LCD panel (just the greenish-gray background with highlight and grain, but no LCD electrodes). Commented out is a line that could be used to load the background file if desired.

;coded by UEZ 2013-10-22
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

AutoItSetOption("GUIOnEventMode", 1)

_GDIPlus_Startup()

Global Const $STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0

;use embedded background image
Global Const $hBmp_Background = _GDIPlus_BitmapCreateFromMemory(_Texturejpg())

;option to use external background file by uncommenting the following line and commenting out the preceding $hBmp_Background =
;Global Const $hBmp_Background = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\LCD_Bg.jpg")
Global Const $iW = _GDIPlus_ImageGetWidth($hBmp_Background), $iH = _GDIPlus_ImageGetHeight($hBmp_Background)
Global Const $hGUI = GUICreate("", $iW, $iH, -1, -1, $WS_POPUP)
Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH)
GUISetState()


Global Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH)
Global Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap)
_GDIPlus_GraphicsSetSmoothingMode($hGfx, 2)
_GDIPlus_GraphicsSetTextRenderingHint($hGfx, 4)
Global Const $hCollection = _GDIPlus_PrivateCollectionCreate()
Global Const $bFont = _digital7monottf()
Global Const $tFont = DllStructCreate("byte[" & BinaryLen($bFont) & "]")
DllStructSetData($tFont, 1, $bFont)
_GDIPlus_PrivateCollectionAddMemoryFont($hCollection, $tFont)

;~ Global Const $hBrush_Bg = _GDIPlus_BrushCreateSolid(0x70666946)
;~ Global Const $hBrush_Fg = _GDIPlus_BrushCreateSolid(0xE8101010)
Global Const $hBrush_Bg = _GDIPlus_BrushCreateSolid(0x26282828)
Global Const $hBrush_Fg = _GDIPlus_BrushCreateSolid(0xe8101010)
Global Const $hFormat = _GDIPlus_StringFormatCreate()
Global Const $hFamily = _GDIPlus_FontFamilyCreate2("Digital-7", $hCollection)
Global Const $hFont = _GDIPlus_FontCreate($hFamily, 235)
_GDIPlus_StringFormatSetAlign($hFormat, 1)
Global Const $tLayout = _GDIPlus_RectFCreate($iW / 2, 8, 0, 0)

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")

Global $iCountdown = 90 ;seconds
Global $iSeconds = $iCountdown

Countdown()
AdlibRegister("Countdown", 500)


Do
Until Not Sleep(1000)

Func CountDown()
    Local $sec, $min, $hr, $sClock
    $sec = Mod($iSeconds, 60)
    $min = Mod($iSeconds / 60, 60)
    _GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp_Background, 0, 0, $iW, $iH)
    _GDIPlus_GraphicsDrawStringEx($hGfx, "88:88", $hFont, $tLayout, $hFormat, $hBrush_Bg)
    Local Static $i, $t = TimerInit()
    $i = Mod($i + 1, 2)
    If $i Then
        $sClock = "%02i:%02i"
    Else
        $sClock = "%02i %02i"
    EndIf
    _GDIPlus_GraphicsDrawStringEx($hGfx, StringFormat($sClock, $min, $sec), $hFont, $tLayout, $hFormat, $hBrush_Fg)
    _GDIPlus_GraphicsDrawString($hGfx, "Coded by UEZ 2013", 0, $iH - 14, "Impact", 8)
    CopyGDIPlus2PicControl($iPic, $hBitmap)
    If $iSeconds < 1 Then
        AdlibUnRegister("Countdown")
    EndIf
    If TimerDiff($t) > 999 Then
        $iSeconds -= 1
        $t = TimerInit()
    EndIf
EndFunc

Func _Exit()
    AdlibUnRegister("Countdown")
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush_Bg)
    _GDIPlus_BrushDispose($hBrush_Fg)
    _GDIPlus_PrivateFontCollectionDispose($hCollection)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBmp_Background)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
EndFunc

Func CopyGDIPlus2PicControl($iPicCtrl, $hBitmap)
    Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPicCtrl, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap))
    _WinAPI_DeleteObject($hHBitmap)
EndFunc

Func _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight, $iPixelFormat = $GDIP_PXF32ARGB, $iStride = 0, $pScan0 = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iWidth, "int", $iHeight, "int", $iStride, "int", $iPixelFormat, "ptr", $pScan0, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[6]
EndFunc   ;==>_GDIPlus_BitmapCreateFromScan0

Func _GDIPlus_GraphicsSetTextRenderingHint($hGraphics, $iTextRenderingHint)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipSetTextRenderingHint", "handle", $hGraphics, "int", $iTextRenderingHint)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_GraphicsSetTextRenderingHint

Func _GDIPlus_PrivateCollectionCreate()
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipNewPrivateFontCollection", "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[1]
EndFunc   ;==>_GDIPlus_PrivateCollectionCreate

Func _GDIPlus_PrivateFontCollectionDispose($hFontCollection)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipDeletePrivateFontCollection", "handle*", $hFontCollection)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateFontCollectionDispose

Func _GDIPlus_PrivateCollectionAddMemoryFont($hFontCollection, $tFont)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipPrivateAddMemoryFont", "handle", $hFontCollection, "struct*", $tFont, "int", DllStructGetSize($tFont))
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return True
EndFunc   ;==>_GDIPlus_PrivateCollectionAddMemoryFont

Func _GDIPlus_FontFamilyCreate2($sFamily, $hCollection = 0)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateFontFamilyFromName", "wstr", $sFamily, "ptr", $hCollection, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[3]
EndFunc   ;==>_GDIPlus_FontFamilyCreate

Func _GDIPlus_BitmapCreateFromMemory($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    Local $aResult = 0
    Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary
    Local Const $iLen = BinaryLen($memBitmap) ;get binary length of the image
    Local Const $GMEM_MOVEABLE = 0x0002
    $aResult = DllCall("kernel32.dll", "handle", "GlobalAlloc", "uint", $GMEM_MOVEABLE, "ulong_ptr", $iLen) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
    If @error Then Return SetError(4, 0, 0)
    Local Const $hData = $aResult[0]
    $aResult = DllCall("kernel32.dll", "ptr", "GlobalLock", "handle", $hData)
    If @error Then Return SetError(5, 0, 0)
    Local $tMem = DllStructCreate("byte[" & $iLen & "]", $aResult[0]) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    DllCall("kernel32.dll", "bool", "GlobalUnlock", "handle", $hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
    If @error Then Return SetError(6, 0, 0)
    Local Const $hStream = _WinAPI_CreateStreamOnHGlobal($hData) ;creates a stream object that uses an HGLOBAL memory handle to store the stream contents
    If @error Then Return SetError(2, 0, 0)
    Local Const $hBitmap = _GDIPlus_BitmapCreateFromStream($hStream) ;creates a Bitmap object based on an IStream COM interface
    If @error Then Return SetError(3, 0, 0)
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "ulong_ptr", 8 * (1 + @AutoItX64), "uint", 4, "ushort", 23, "uint", 0, "ptr", 0, "ptr", 0, "str", "") ;release memory from $hStream to avoid memory leak
    If $hHBITMAP Then
        Local Const $hHBmp = __GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) ;supports GDI transparent color format
        _GDIPlus_BitmapDispose($hBitmap)
        Return $hHBmp
    EndIf
    Return $hBitmap
EndFunc   ;==>_GDIPlus_BitmapCreateFromMemory

Func _GDIPlus_BitmapCreateFromStream($pStream)
    Local $aResult = DllCall($ghGDIPDll, "int", "GdipCreateBitmapFromStream", "ptr", $pStream, "handle*", 0)
    If @error Then Return SetError(@error, @extended, 0)
    If $aResult[0] Then Return SetError(10, $aResult[0], 0)
    Return $aResult[2]
EndFunc   ;==>_GDIPlus_BitmapCreateFromStream

Func _WinAPI_CreateStreamOnHGlobal($hGlobal = 0, $fDeleteOnRelease = 1)
    Local $Ret = DllCall("ole32.dll", "uint", "CreateStreamOnHGlobal", "ptr", $hGlobal, "int", $fDeleteOnRelease, "ptr*", 0)
    If @error Then
        Return SetError(1, 0, 0)
    Else
        If $Ret[0] Then
            Return SetError(1, $Ret[0], 0)
        EndIf
    EndIf
    Return $Ret[3]
EndFunc   ;==>_WinAPI_CreateStreamOnHGlobal

Func __GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
    Local $tBIHDR, $aRet, $tData, $pBits, $hHBitmapv5 = 0
    $aRet = DllCall($ghGDIPDll, "uint", "GdipGetImageDimension", "handle", $hBitmap, "float*", 0, "float*", 0)
    If @error Or $aRet[0] Then Return 0
    $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $aRet[2], $aRet[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB)
    $pBits = DllStructGetData($tData, "Scan0")
    If Not $pBits Then Return 0
    $tBIHDR = DllStructCreate("dword bV5Size;long bV5Width;long bV5Height;word bV5Planes;word bV5BitCount;dword bV5Compression;" & _ ;http://msdn.microsoft.com/en-us/library/windows/desktop/dd183381(v=vs.85).aspx
            "dword bV5SizeImage;long bV5XPelsPerMeter;long bV5YPelsPerMeter;dword bV5ClrUsed;dword bV5ClrImportant;" & _
            "dword bV5RedMask;dword bV5GreenMask;dword bV5BlueMask;dword bV5AlphaMask;dword bV5CSType;" & _
            "int bV5Endpoints[3];dword bV5GammaRed;dword bV5GammaGreen;dword bV5GammaBlue;dword bV5Intent;" & _
            "dword bV5ProfileData;dword bV5ProfileSize;dword bV5Reserved")
    DllStructSetData($tBIHDR, "bV5Size", DllStructGetSize($tBIHDR))
    DllStructSetData($tBIHDR, "bV5Width", $aRet[2])
    DllStructSetData($tBIHDR, "bV5Height", $aRet[3])
    DllStructSetData($tBIHDR, "bV5Planes", 1)
    DllStructSetData($tBIHDR, "bV5BitCount", 32)
    DllStructSetData($tBIHDR, "bV5Compression", 0) ; $BI_BITFIELDS = 3, $BI_RGB = 0, $BI_RLE8 = 1, $BI_RLE4 = 2, $RGBA = 0x41424752
    DllStructSetData($tBIHDR, "bV5SizeImage", $aRet[3] * DllStructGetData($tData, "Stride"))
    DllStructSetData($tBIHDR, "bV5AlphaMask", 0xFF000000)
    DllStructSetData($tBIHDR, "bV5RedMask", 0x00FF0000)
    DllStructSetData($tBIHDR, "bV5GreenMask", 0x0000FF00)
    DllStructSetData($tBIHDR, "bV5BlueMask", 0x000000FF)
    DllStructSetData($tBIHDR, "bV5CSType", 2) ; $LCS_WINDOWS_COLOR_SPACE = 2
    DllStructSetData($tBIHDR, "bV5Intent", 4) ; $LCS_GM_IMA = 4
    $hHBitmapv5 = DllCall("gdi32.dll", "ptr", "CreateDIBSection", "hwnd", 0, "struct*", $tBIHDR, "uint", 0, "ptr*", 0, "ptr", 0, "dword", 0)
    If Not @error And $hHBitmapv5[0] Then
        DllCall("gdi32.dll", "dword", "SetBitmapBits", "ptr", $hHBitmapv5[0], "dword", $aRet[2] * $aRet[3] * 4, "ptr", DllStructGetData($tData, "Scan0"))
        $hHBitmapv5 = $hHBitmapv5[0]
    Else
        $hHBitmapv5 = 0
    EndIf
    _GDIPlus_BitmapUnlockBits($hBitmap, $tData)
    $tData = 0
    $tBIHDR = 0
    Return $hHBitmapv5
EndFunc   ;==>__GDIPlus_BitmapCreateDIBFromBitmap


;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-05-17

Func _Texturejpg($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $Texturejpg
    $Texturejpg &= '/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QNvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6N0I2MTkzNjREQjJCRTMxMUEyMzJGNEM5QjA2NjRCNDMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODVGNUVFMkUzREU3MTFFMzlEQjhDOTNDMEMzRUJEM0QiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODVGNUVFMkQzREU3MTFFMzlEQjhDOTNDMEMzRUJEM0QiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1REMyNDRBRjA4M0FFMzExQTlCNzg1NDQyOEQzQjM2RSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3QjYxOTM2NERCMkJFMzExQTIzMkY0QzlCMDY2NEI0MyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv/uAA5BZG9iZQBkwAAAAAH/2wCEAAICAgICAgICAgIDAgICAwQDAgIDBAUEBAQEBAUGBQUFBQUFBgYHBwgHBwYJCQoKCQkMDAwMDAwMDAwMDAwMDAwBAwMDBQQFCQYGCQ0LCQsNDw4ODg4PDwwMDAwMDw8MDAwMDAwPDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAVMDQAMBEQACEQEDEQH/xACOAAEBAQEBAQEBAAAAAAAAAAACAQADBgcFBAEBAQEBAQAAAAAAAAAAAAAAAQACAwUQAQABBAIBAwMDBAMAAgIDAQERACExAkESUWFxIoGRMvChscHR4ULxUgNiE3KCIzNDwhEAAgEDAwMDBQEBAQEBAQAAAAER8CExQVECYXESgZGhscHR4fEyIkIDUnL/2gAMAwEAAhEDEQA/AO5sS6jBhbe7ivAi5mbSdRWfldfi+mKlJJyrC12SA2QcE49LVpYwTbfc6E9pu8seYm1GcB0wdBuQy4j+Jmp9TTwMncJLxA/t+8UvnczeBW/10IFiPerWB8mM3evURC3olDQuFqdbBtLLaLfapJglNzp2dZ5nL/XipXJXF2nlm8L4pWRTaYjfb3TnJ71QpLlB0mC5At3xl/rVmwcWIt8Wxwef60qCSvAtN3UGVYYfHGeKncc3Ohsn4p/+VSMiHYCCDj15m00PI6jNtgnxHrP/ABWncR/Jj5CNkL3L0KwSngot9R6wzkc2am4NJj13F+t1Jc+aQvI5'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'xkgz6RSsuwJDYhEjpzmILy1FearYQygEKykecUTFinUzsyCfH+TxaWnQYt0qtRzq/wC0to2/xmiILyhTX4Oopra6oI8DbDU5ktdCSdVD5OHMfX1vxTjsSirCG94Ew3ce3jmmWMpdSl3ZWJn2i5xVaLZJOLGvBJJYOMh/xU+SYZsdp7EzJxa30is2mwTbqQI2tZidb8fxW5ND13YYGB8yefNGsB/kr/6QJjYtJf8AtNUA8V1HsqGqYtxn2pUXgVdSW23YkjW2Ztnm1EWBcpySWxP+pOuc3m1VhjCK7Lfti/J9mtLIxodTaJllGZL+s1iHkJdiO3LgLA3uWzSnJeOqdVWBnPUX0WMc/tRLebBEK5eznW8Fm1oxcp8d9ScO5uymkQwzszYl81NvHQbQ7l1Rh1+oxP39KG7QyfU3Yya2FjYvlrXk5JF12LbBK/jBMvvn0omC8RdoNuXayKcntSU3Mb6REqbQpd97/WpONDUp4MnxYmdYic+9JluNSyRBs9okFb8lGarsM6ld3UB2JLh/ctUkZ4pPBnbAxib5mMPpREE1oW8EvadZhx96k5knZ3F2RS9vH6mjOpZRtTYLna0AN5pYtgd9zJ7nt7NKUgruwnaEu/JsOSTii9xaI7Jsxt8Zv/RpQTFV+yTe5MfjElz3zVc0baO2wEO14nzSm5JWr7mkUiyXPDg80KVoCfsXdddXTryC4uBU0yncisa2seh9bI0q5nWxpz/rrtg/YzREM0rE+Uw2dSDWL/Yq6lPFMqj1jWJxBjihdRi9jnMOsckr59abBxUIrt+SMPi5b0bVm2pLYzv1+UJLERcHx608VJK6voTvY+MzY/zPvUDen4B2uTngDxf1piBhs07RBt1vCxw0TIp7FuxEdXIWm0c0wZkBsJGxLrY8SVNRcm8MnbVfi9gPE/veiNMGuKW1jO2dd4E9bMYm1HGzJO4NtpU1zq2tIZnzSuRnipyTdVjM3MDTxsKcIhtIQ4v4LWL1lqHdVsFvQIizBtqQ7MzDzNylKLjDqq9SOwwdVZ/b9NEXMpyR22vqIC5UtHDFPY2o1D34EzZxj/FUGZSsSQ69tT4sag+KFiwvlFyOwOTC/I9l/rVANtglhnZjAEk581No0wLOxeNdca+J/fNSbklsZGDYXYk7YT9qZQJwgbPVERMR6+k5mqd0OchAht2MTxOKG5KIBcTug2dr1KWtwlcetaE2dQ2eSVVYYuxn71B5NB7MddvjEgYwXqw2ycetVuHbZumsRZm/1mKGmPjoDaBB2I8N4j6/WnS5T5Z1I7QbOmyQdvVfeIoaeoqHIeIJZuyy3lvS+WoPKkC4wZQPP9alBq0SZ2i4dQ/GY/vzQtjn2DtJ4IidsT5/j9Yom5rjxSxAdpjWdvmxaIzxzU28ovObHPZ1I7OqZC4RDf1pltWkrzKJMIih1EZ4xWbT1K2m/wBAbOL8STf3telPIQwO07Weo4W8zkz70vjAvPUOzteENViS0hP81njArKjevwUfhrLApHF8wZqbvBlrUm7s6hkDJzezQoYzFV0OU7O7vtc/0jGS9vetcsKq9h5OVCM3RmTDPN/S/NXGyMvko6hdogDnNo4mM1m4tSrzt3IvaYv8Rh+8E4+1SnJKzqpCJtG0YG/ickUwydsGvLqo9ru2b5aFvWwrjN1oc12j424AiVZ4LVruZ4uUIXCp/wBm1uvB5o6klkNv+wkxM2eW0rzQLTwsVXQEr2WEgJ/n/mnjoXJwh+HbVLSrKXnzmaH0KUnsYj4oGsHy8t/U5qa9RT5RBdT4z27bOf8AOeKnC0Mc+x+9rIizd+Poq5+9dFArmi63NZWRHlbe39aIa7DYvbU154L4k9quMt3B2xFVqdWBVZmDDeeZxWbOzJLc1mHA5X/XnilWua0GNzWWS2o+Po1vlgHyedBm4Xm4bSFhmz/zQuLHkmUVjiU7ry0PqDaFr2cZtHbDiluCSMbSaNxg6nOTFTUsuVmLVjcwGv4/t7VYFO10JU2e'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'ra8RPBHmstRkOWDPVXsRteNef49eKVbFV3G3EnYgdT8X5OObXqhTDYKy9SPWb7bbCTNrSnn0KL6DxuXv1gCWIFjPP8VC+Nr/AHKrsz0s2B86+KkZiAd/y6guzPb63xf96k5wPIRs9SLOGZ4mjLuE3JI9vlJhNS7zatG8Pb9mtPXS7ez9x+lHlqZTsq9AMfGwHC4+96tXqSszWf8A0E2gceE9KZ9i5cZWCmzfUl7W1xDzREKQWbUjarM66q/7dicM/wBfNWkDKbsc2dR6z1ixxNreKSgsPX+rBh8UWQTcO222rGqsyC+Pu1WaGyuzdx8MbcFnxf6UNaL+DxTbI7Bme+vscczWl8GePG01sYh1uSmb3PIPis4Jp65AbhD/AKxEYt73qaWOtV9TUXUak73jLc1l/p6VrxkYi4UkV+PnXxOKOPuXPkZVY7AP4jEVTaTDeS6us6k3H4jmf3tNTTjBeMIC2lZ1ZjxF6l0G2CL0kba7B5iMOLVRLCcbknedght8tZmT0qUalJphbHXmcPPqVkuUnPtrrrHYs21vNaSvc3yvXXY0msnWynUHJn96E7GXBN0DaJ1CBVPpzxUsmWovqTuA9T5WDYwKZZqk01GVSDG1yB0ZYtfxx4JxRYFkLBABrexhnH0pkX0uYNnZG0OG/wBfWhw7rUGoxXwbZFHUFvZR+1X0NYtGATEnXrbs2xlP381p3MeFwXW66n47R/JWZsJh2PhiWUSAC3pVCauUty9K1+NzHC6x2n3zmp8oNcuTwnY49k2cO3/n6yU5YK+RuzsT1vL11MQ+fFCiLl4KM2A9QNm8yx4zzamfQJUIyR2gI1h22PQmJvWWpzkcKWTbeU11bMz7l6fHx01JcXMkzs9gz8Rjx+oisrlCiq9S5Pd3ObrItkiZ8RMxdreF2HRLQbrYIuDN+T2+lCcg2szHcx4l1fGvMEOat4wHKUrwaZmWTgOC2fSjxi6NeX/Mop2fOsSI+Of4pUIOWzr5JqdUMRs9NuIMtoqm9fcGRB3652iVfXNSbiTacKyKG99dts+v1z9aOUO5z5PVkD4gpEAFouRbxkrUw7D/AMpFyTgfvFph9qM5BuvQjDMkJIam1/WD0StS4sb5NEu3PjBleJx7eKynpkIuI1T5F2x2SP5rKbZWiWTZv225Lbchh5pai5JJ2VfQkp9cCRm/P0pbTBKyqq0F2LExeZ4kxeaPkm7S2RLf9YmHx9OKdUkZhM/omW7Bv9/OWlWSGYZgh+T2Dxi37EXofJvBvHSq+CkBdiLj9fFKUpsM/YmuyrE6pdicF8RUljUcXOpvtB2ywa+3n92hQ2YSlQI3iSQX8o4MUSncUrm12nVh1VOvjhPpYracNE1aWY3sRfbYuR74p5YljZDNgZ27Q3iY+n38NY/0UaKq+Td7sna8K8e80x1Li5Qjsm18J18ejnlqmWWboQwm3b5LdMS/8VeO+CTLLttGs7EZL4PSmYiCS1FI4W+Ysg8E0X1MNNdjHxAnsWgP163qj0Np9blHYIIUb7HPvUkpDjyRnY1xsw4P17Uri40HtI+7IW7qS+zEzQ/gkijcjY1TJLb2pfUk6qvgp1bamJsY8E/epvoSbzgrN9T/ANGdv+am7yU3tg27sLeLSh44qfHUzKVVXUU2ZgYnvHm1vtQnohbehZwmt9mTt7Fp4pm2dB4qCG0sQN3ZQvcs0qyB2HJyf/LqTF/bNHHk9H7imjLb8lAjXaff6cVT0JP5EmvMKfietX/SwD6hNpPf49fDkJ+lUak50LiY2PhysecVqZNzbp/DpOha4DG3j9Z5rEOqroc9yT8jYiXGoxf3peINJt42gp2NkZ+N9Rvj1jgqSTS+QmWDTdYbLYL4Me1aVrMZTuUx/wCkxe04ti1c+VyU8bo3Z7dXU7ZULM+a1EIG71W5cPdXZWO3OP7RUsQLh2rJNVvaNtfBDnyU8rLuXKFgptplPyi0j9aHMjLkhtr2d0dXCSpdpVVXya5TaMGmwsvb1P0U'
    $Texturejpg &= 'OZ6nNvQzts9V1kJjbI+9TlqNSXcxxtG3o/62mS9LWgS4sI2g67AHPiD2rK7jMOxC8uyRnnz+1qR5NaQQQAdV2eG3o1XbFXfU3bEvWMJ4z5qfwUBV53Lt/p6VRqjDblm2VLLE2fK58RVpc1xbwYEk5ypfyntSnNyhRVdCrMQ31LhNo/rRpcny8X0JsgPp8hb5jjNSdugR61X0J3vClvihYjjzVBqbQgqfJ7M4QJg/R5qlTVe5m7KMSgs6iX4+tVqrQIh3rJpNkn0j0wVYuacOxFMQsMG2IvzRBNTgL8lm79Jc0yuOKquuU8E2i4EGS/DU7uTTDIMlrxnwe1MSDaSkereNdpdSJ9/15rL3ZpuI0QNV2l21AcqRB71PoZaSW3Yhv2j/AOQjyv1KfGETTQdtzWbXRk1ifbDUsRJeKaxXc2ybKa21b76ePrHrWRTYHb8WOp+WuuZvH1rTVv0KWxnrGuzznxcaJejM8Zbr6aBF1Xtq7NpDmGKW1ChmvFOGbtaZV4Im3vYo5PUEmm06+5JDttKjfteR8UN3geLvKr+eoTDE6AX1mHMf5qe4PoFX8ZvdkkujLZMVO6nSq+hni2nBCZttGujJ2sxJl96nZQPG2ckxtvaJba3beZm1PEpL8TYlmw4Cz/NZ8n6mkcHY6xETnj9vrW0pYO7ZmFTUkzET6eYqSBN5RmW2wt49nLJ7UxsMWBJP4iOI/t61lu48W3jaq1Yt3U28o2jmMVK5cU8A7Elol9gjN/WstRVfkuSk3abROusTF7Bn7U2S6hyTSZND5AgE2tLkIaHLFvQzDq6s7MBGBf2pd3VdzBy2jsOzr1UkOR9b05tJpwq/pXtPyFXHpH9uaETUGA7azExePRPvFXk0aeNTdXO0EyB/j/mmZBJqykUDsa3RY12Ijxe/pRL0LCsQXVhiJtH2+lDT5JQZie9ff7MJCpvZm77f3mtLFiacVWlWL1Gb9klm8PFv4rKHLya+3VdiAxzL6U/56E4jcYNokizkj+81JhytZfJhttrIbY4olSTXjZIDeZI2k+M5n05rUr0JP5Km0oNpjrxb+PNZtMj5QpYLEmodi43scZit4ySVx9WYvEDm8F8fWs+Ugm0YibDpGSzdtj60KxPBdTskMAp73QPWqbdCaeVX2rBJY/7dsK8Hv70xc3MuvsXZP9Yg4z+hijinEuqkxx/0bXaDry3zZ9KeQePlhDMwOZ7HibNqotYusVWTaqdg7NsK29Ilp5KHI+NpOnceuIWDmczPrQncYa7mjF/xvt4ni30q48pBuK+RdVZzJJbj3qTmw6paVX3DBBEwx4/jmmW3JZqvkWsWUOrC7Y90Z8UxsDxGRa7F8cz18+nu0dzXikhLqMTDrl/nkqVyur/IjaxcnVnEznj3qeLmYiVVUjXNZmCOOI8fzVhkupVTsLIwwMXxDUl7lw5al7Y11YevNvJx596IlF3rY3aVlb3OxkP7VpDdwh6+p1PGxbMPjgq5Ni+Nod/qI2c9JAt/fFmhbgnCtsbaEYhtfWUwnmri7AkXXb5M3QuAnvM0vCWBs73JNlIl8c4j3qi4tp5GbbQN9PUv583oe9aF/kzuEzfsITHnFqUoqvgEpwYYYRNrKkPmLe9UyTvc6LLDvqXvPNuYay3HGRVkSFWSAZtFmaW7VVZMv2qvYwiRqrtxrFrZ9MVXmWK3OiXhhWwvjFUWkPKbkiSHaLCTwDJe3NSlOBaTjYx/6OqmsvASf29Kcj4ypqqgx2DZVu/IPtzNC6BE3FoxsMRpDKFyMv0rTsUuCdgANflHxxMrhvU1LgrJyUtc1dpzsf0omwS1fboLbaJw6oKTGcXrMQS6Bd2Oqekt7zWurNJTjBe/aWUf+xH080qYK5dn5BMaLKR+0/WpOcGW9WV21HX/AK8vp71JMPGxjqMzqES3/wA0RVV0NLBO0CdrP/blG17+Kc3qvoLcG7TrmJyHp/NZUoGryiyTJ8dfHmB/iK05YQibbJCMQ/lzb+8VlXsa'
    $Texturejpg &= '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'
    $Texturejpg &= 'FzOkl1mDHUMYx644ochE4NfrICTaYtwP/FEv1GINsmyW7TwWD9q0rGoJteSHYidtptLf+KlcE5EMxqMf9v6TQ5uSUZIlmG+1/vLHNZRNaIkkfFG0pzF29abh9DPJGQTrqz1vqP8AOKJwN3eTflHb/tBfE8ftSnqhSvkxaFlcBE24/U0twYT8q+CGzqyvhInD61lrRGovUENiYU94zEk5pvFkCTQJ4izDtLP1JqYw5Nos2+LgSXz4peCme5OyMi63CDOM39qvAeWbFWJAEF1f6zGcVKVgy1LzXrUhdttZ1h64W5EZmaMDkQbJts2lLLHm0vM1iUTewRjmHL/z5vWm5UFCswayIjf8vP3qmVequXJrlhFMM7RA9oL3xdDFDcWQyoj6mmYbjq2gvb74qvILf9g2gIbJC6tj9XauvoTd40I/+m2zJDweXFPjDCJdVWhDXZYWbwPEe3NTgc6mfkSLsGAtfDNqkvcGR27GyZU+uc1nQnfNV7EtjdiczdSzWnkfFhWIdpCHq8T7TRMFLdkGZi/SLbJJd+7DxWrajN9Au0kuwcrqXoiLq5JTZGZTrGTtrfKuKF0Mw0+xto67bRLra+fe/wB6uLh+5ToQwqQRa5OX9EUTeKr8ik8WA7x/6CEfISPTJml4gmtdDJqwypqwswzVe8B5zd9AGvU2EG9rWSwU5aW48uMMuzCzdUY5bVmG1cl0tWpkjV1WddrurdHL5u+1Kh3RTrogm20PViTm7+vehRyfUW5I7BrqXy/zeL1t5kMcvk1iXLERbLcx4rOSXQg7ddVTsqHkvJiiEpsDYt/mBd2Tn+uP4rSsiahmMzOsMzKRn9Zohim7pEdbxN8GZIPEXpbBzj8EuPZ9ZExyepUlODTVV67lvMLA/wCrlY/vVYI8l9SO+2s3ZCD3hhc1lQ3YDRtYYScFy2bNmltN1VbmvJOyqv4ZhLka7yG3EYpanqZm7ruZUOjHXm9598ULMoYnGhtl7O3DeJ8UJTjI+UJdSp1QyEz+0K1KWGkLPetyadSNXVUbLa5fiXmrlAz1IdbGxbN/XJ+1LMvVEDaPjeZAxIjapQ05QxA0NEIg2YJwfvRm/wDQV+oWLDqFvEhN8fWmUlUm2thr37Mfl+J7QPtWYqvsZ/ySXXWC3/xhm/p6VtQ5ruXKJ3J1m0KT8tjh8e9TayHGa6GUE52AiAwHEe9USof1FvVlA1dV2VL62P5aptFVVx5N6Fkgt2bwxHsW9miGXFxlQPXrDMbPq+R5fSKmF5I664bkMZk9Ji1V0y1lV+yjBYOuxCPr5qSkVLxobSA1YJLkWgLv6mqd6qtAbbxvXxW17a3MS/LaJn1vV9IJcYZ07D8S0xA2ifv5qi0wZicE6uxPO0KDPszFqbYRvhFUiajeNTrsq6rBF5tU4Xf9GZm2p0+USLArrEQxippKzDxZFk27aMcGPEe9E/8A6NrhLhM6CHpaRXn9eKnyRlNTuzauqNknJGX+lTt1+wtqqr3NA6xqIMhj7WK1MClOtil1k2difji/r9KGkE3grtl21Fm9rhg/eiZZPjNkYYM9bjZTm7E0lCms/sQdjVdQAeq296mwTl71VSGe22ATaI4vg806QK4xVdRsEAwxZfCXWfahNq9egeUsRtIQZevf1cfppai43h967E12c7SsTA+MetSVzMrTNVSEMfFYJ+O3v6e9ZZrxSXeqqKXlLJcz5kVrVfwdf5VbC/8AjJr1zPMW9+KFbBhNkYf9nosWJ88xxU9EjWMZRHYsREEzMzxLWlLV2HXrX0CN9R2UJUYRG9s3qlaDLaOr1Jzsxcf3tzWVLJNtysGljX42DMXI9G9aT9wfOERe2pjURTj2S1E/9QKUO2RDtLG1otq4DMTeptQF3lGHVk1ASECYnN8may+oqUpVy7ES7W15lvdnFKewcW/mTOyMzctPj1qV7qq9Ssg6MEXHCNLuTzI1fLZgnleZx6VJpFxVyLKhfzsmJx60JpO6JpQkZ2SNbX1uXVmq'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'MczFSUZJ2bt1NZtcdSGYefTzUk/QG9x9mJbEPR4jgtFDdzXGW+tV+jG3yVLaz1hv4/ilX1B8VX5M7gfIDCP2z/Wl8mF8VWxmDl4CMnEH0rKcinKqsmdidNe+089eD9TWr5BKq6FXUIJOywXiHKtqytkb1ivua3/Y1wBP9GqJB5qu5HZuS+GGR9f6U+Sd9TORyQabXbhAfXEzU2s+43ThVX5Mjqcdf2l+sULlfqC6kNhsg6DKOD9cVuHWtQFzQbMr13mR/m9E3tg1heoTVI2Ne1m3q+kfeKZbV9Ss81XoWJjbGxMja2W0UN+wp6C7aA3F/YH3rLbepnxIMFrCzIWL/al/JXaxLJKbdQuN8Wo5eldwy6qvUrsKKyzFvH64qlw4qqyaUVXUnJrsepzYfMRjiKk1LgkupSxzrsi6v6ar4QLishWRO0BhLHiB92pElLMsOhDw9WbSEsnvelX9EaZBuvYi5n6PtjNU6tEtq+Cdt9s23vJPif608VkklyrsSct0Jfp4mfWptNhxl3yaFuM762CL2tQ83B56GDAsCo2/p9aFnqMTfU2zeWcWg6sehWnFih5NJqMPUm32vz6UZ5ArWqqsS6QsDDct+kojaqua5OLu4lmJ1vsjva4fzS8SZ6GWVst+PAe9Cdxswu3/AJvy2v3bKzM3LVXB3sQd51YfFom3m3mtTYXxWCx2Iv1wpLkrPLoSiXMAfy2DUlPMfq9LVhlK/wDCsIduMRctPv5ilLYw2rletti/a8ZjH/DQm5ivoM2vsBUfkdZtfiK1lClxdn7V8Cd0epMC+ZjIHjFFnkG2lct+v5QiXTxa5FZWQmSKPaxtwQMzfB6VqTUNQQEGyWF9/X7UJSoF6bCdryLflxyz9nijJmL7IMyElz1/i/rS1kXHYq9Z1+UXF9yLp60JyK6V+CbSokskPL6+D6U8XaNQbnoYllySjMeMEVKFkv8APtVfo0ivZl1LsuPPrFLX/JZqslhdVSJJ2H1zAe1ZxGpYwGGe051icXt5m9a4iu8mvIjmJ2g9X+Ko3QLMuq2LaNgVZYBG8cZtRhKRSWWbbWezEyWmPPH3qUBxZtsi47eFHPhqzZ5qpGyr7lHXmVGbH8fahN+5laLUsltgdbxPmL5/pSr+wrlNq0/oWO0n5zB482z70q2EUreqq41lBli+I/efRoagEp7AnO3ZTVv7ehx96HxFqar+ktxtn4o+zLTEkiySTqScLKXljNOoRt6F2iXWwyrrEo+CGqPkU29xOvb4pGoztst5v4zWUr9RTbzXQ5pGsQ62LMuDhqb+TFmU2jrrDPDE/Y+lKS9DXFaVWShc+Mv+x6hUo31DyTViI6SBOox0ft/iptxX5/RpvlsT5Y2i7M54D1pmVZ1cOMKu4uzKkG2bvLOY/asu6JqUTrq3069VB0i03q4toOSqsD2ZdtZNYlXwP/NSXQykRVPyP+o++cy8xTc21eKqu/MgvCF0+tvPrzTMi1I5iA1IYlwBzJ6e9D+xf7zcOpOy7Y1/FPf1PLU3KQeaQiHWJswAZaGouV24edwOrYt8odja1+M1qU7hnFUh7S77ar8SH4/zmidYGLQiMQK3PSbBzNMSPF3ITt1Cbgbaxc9JPbmm2lVIcrdxazO3YZWNrW+n3qypIiDZs4hGfR+rWeO+hYz9jHWDqSiPth/kqflNxbn+k1AYgbk7fvj05plNGfKH2KmztLcJfNv0lZ5Kww0q9S21665X8hI+xS22Tfld/ElERfQjaJCM3n+tHJw5Q+Muq/JHZtJ1SMyQDPLerjxt0uS4tuxoY6ueAtBNL5amIx0IazOqOqrAETH3Kuxpbzj7mINpuMQ/bmlrQuWHVfU05kYhlcwJfPtUp1JRD71VzPGzqyEe3rNNnYYTbZNmI06yX6q3kj28VdifGvQrqs6o2APfF7+ayuSFcoxVVJS5plCITFZky2kpqq1Jb4k+Z2XEzat8UV8zXuPTaDrtjb89rX/tVynKBqar+BlJIkG/aD7/'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= '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'
    $Texturejpg &= 'fJNsbZy/ljP+1a4Yqv0Y54Vb/Jf/APPmZPyxz9K1qvtUmfzVbD1n/wDjjHbacZjib+9T/wA1/Da/zXycz/X3vH48Z/rTuDwsY1qkf//Z'
    Local $bString = Binary(_Base64Decode($Texturejpg))
    If $bSaveBinary Then
        Local $hFile = FileOpen($sSavePath & "\LCD_Bg.jpg", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_Texturejpg



Func _digital7monottf($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $digital7monottf
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= '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'
    $digital7monottf &= 'TFAETVQEEHUHBj8YATMnAjXwNCYnNV4XgiVCZIQ2fwElUgAnBxMB0wGSAhM3Ng8BACfloDwBvR6LUgpgKEYo0CZklgDIlZIAJ5AAYzYB/spAACpa4gAKlgAyIgQBj6CfATy+lyEEPFABJnhBa5MA/npPAXgeNVIACfAAjZIA4QQBIwUgBL8AewDcAggBtizyOfY9AfM9QWEDUWjJ0XMBLNBxAghQQz8DH6UwMANhjjIDoDgzASxEKCigQCgooOABjBEwA3wC0TADCQA7f5Nn4R9BM5F8NZLRg5GQBXVwAAsxIgNAAdI01EYTVdAIHyIJ3BAJoFEJCd1QCaGRCWEIcQZ9fwYhdf9xBlFugUtxBpGWfgaCmnEGVREMF0EA3FAMoZUMnwPRDCESZADcAYYBWv7AMw90QaEMAPFQIgAmNTQ2MzIWFYAUBvU8VVU8MAAe3FIAMACyAwBWAdYBnpCwOrMDBRSVcAGuAG+umIA+om1zWAowA+o/A1U3A8IwA3A5AweCA+CFNEEPNkGluABu4lRoDQBxcAAZQAFxABCr4KtxAABwABACMguUALUzWg8AMh0wAxMBGdKYMeE2IwAZEgGRfyvcjXAJEyAEgQQLABRyAKodEFxxYBgTAAIE4BeqFHAAB8SDE4IGDpACOgvkRhgChXF38GshEYIhkXcBBxEXAVRmS7BStTcRszcBmrASCiBQASz+1eF4Z/4gtlBQAZDDaJaCOSABvqC2MMGBAXr9lEAeAkQe/ca1ar7lEQLc4QMY+qAAMW8UAAC4AOwB2gKSAwBqBBQELgRyBAC6BRYFUgVsBQCGBZ4FwAZaBgCOBxwHjgf2CACGCSgJlApMCgDyCxwLRgtuCwCWC74MQA0KDQCoDkYOmA8aDwB8D84QaBDgEQAQEXQR8BI2EgDYE0ITqhQkFADCFV4V9BYwFgCoFxIXshf8GAB8GLwZChksGQCAGaIZvhnWGgB0GxIbZBvmHABIHJodNB2sHQDcHkAevB8CHwCkIA4gdiDwIQCOIioiwCL8IwB0I94kfiTIJQBIJYgl5CYEJgBgJrgn1CfuKAIIkGJwKI4oqCiIwilgcA0gAYZxIbUCAISWAAFQd9UAAiBbqpa0AANwAZ60AASwAIKwtAAFADYAwrQAIAwAMgD4tAATABgUASrQBAMAXAE+QbQAAQAJAZq0AAIwAAQBo7QA0JgBp0G0AAQADgGwtAAFMAAZAb60AJDVAdcVtAAIsDPktAAJABEEAgK0AAwAGQITQbQADQBBAiy0ABMQAAoCbVAGAQQJMdAAuAJ3tADwDgMvM7QA8A4DQbQA8A4DSUG0AAQAHANbtAAFCAAyA7UDBgAaA4KptAAIADwDw7QAYAkAIgP/tAAwEQSCIbQADQCCBFO0AAHwEQTVAEMAcgAgZQBhAHRQAGQAICAAYgB5UABTAAhpAHoQAW4AawCib/AAQQBs0AB4cAKqblACZTADLlABqTAAqDIAMBAAODIDdLADsXECLQA38gFRA2xwAKJy0ARnAGjwAXPSABZlcAAxBHYyBy4ARLXyAWnwAWHwAtEDTVAHrm4wAJ8BHwFWMAUxUARBcQggAE8AY7ABIEWwADJyATMAOpAANI9QAPMB9QrRCHQAcHAB6i8QAHcSAC5wCTUMEQpV8QluUAFjkAhtUAMxVdADM7AENRAnNzAEOQBDcmVhdGVkIABieSBTaXplbgBrbyBBbGV4YQBuZGVyLiCpIAAyMDA4IFN0eQBsZS03DLMALiBBbGwgcmkAZ2h0cyByZXMAZXJ2ZWQuIGgAdHRwOi8vd3dAdy5zdHlsAFx2AGVuLmNvbURpAGdpdGFsLTdNWG9ubwYwBhAgASwxAC4wMCBPY3QgADAzIDEzOjI0QjoAHjIwMDgKeEMAcmVhdGVkIGIAeSBTaXplbmsCbwCKZXhhbmRlDHIuDxIWkUZyZWUAd2FyZSBmb3IAIHBlcnNvbmEAbCB1c2UuDQoGRgASACJtZXJj'
    $digital7monottf &= 'aUEDFCBwbGVhAAZjEG9udHUAonVzLgAwMTIzNDU2NwA4OQBDAHIAZRAAYQB0gAJkACAQAGIAeYACUwBpBAB6gAhuAGsAb1GAB0EAbIAGeIATblWAEmWAGS6ACqmAATLUADCAADiCGXSAHYETWC0AN4IPgRpsgANyUYAmZwBogA9zggZlO4ADgSF2gjmBFIENdACgcAA6AC+AAHeCAF4ugBKFKIEXgRZugApjUYBIbQBEgilpgBBh64AQgThNgAtugAGPDI8IGiBGCzFAFEEwIABPRUAWdMABMAAzQAEx9UABOkA3NEABwwdFOlceV/lSXwnvSEbCI2XACWFRQgIgAGbABXLAAXCNQhRzwi1BMSAAdcIP4C4ADQAKwA1DCUMRem3CCmPAJ0kKwRBBHWHrRAPBCm7AInVEUUEJQVaKMcBNM0BRNQA2QEqAOAA5AAACAAIADP+IABoRAGsAAAECAkAJAwAEAAUAgAYABwAIAAmAJQgLAAyAJw4ADwAAEAARABIAEwAAFAAVABYAFwAAGAAZABoAGwCAHAAdAB4AH4AfACEAIgAjACQAACUAJgAnACgAgCkAKgArACyAawYuAE/REjoAOwA8AAA9AD4APwBARcAvQsA5RABFYBRHAABIAEkASgBLFABMQD1OAEVQAFEEAFJANlQAVQBWAABXAFgAWQBaAABbAFwAXQBeEABfAGDAIsYAtgAAtwC0ALUAhwAAsgCzAIsETqhVTEwjHAMgGgKgGCgB//9gAQGDAgEEAAK8AABvHAK8/AE1p4sDAEUj4wJgBWAB'
    $digital7monottf = _Base64Decode($digital7monottf)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($digital7monottf) & ']')
    DllStructSetData($tSource, 1, $digital7monottf)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress, 33992)
    $tSource = 0
    Local $bString = Binary(DllStructGetData($tDecompress, 1))
    If $bSaveBinary Then
        Local $hFile = FileOpen($sSavePath & "\digital-7 (mono).ttf", 18)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return  $bString
EndFunc   ;==>_digital7monottf

Func _Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize)
    $tOutput = DllStructCreate("byte[" & $iBufferSize & "]")
    If @error Then Return SetError(1, 0, 0)
    Local $aRet = DllCall("ntdll.dll", "uint", "RtlDecompressBuffer", "ushort", 0x0002, "struct*", $tOutput, "ulong", $iBufferSize, "struct*", $tInput, "ulong", DllStructGetSize($tInput), "ulong*", 0)
    If @error Then Return SetError(2, 0, 0)
    If $aRet[0] Then Return SetError(3, $aRet[0], 0)
    Return $aRet[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • UEZ
      By UEZ
      Here a little tool to display the histogram of an image (inspired by this thread):
      )

      ;#AutoIt3Wrapper_Icon=Histogram1.ico #AutoIt3Wrapper_Compile_Both=y ;#AutoIt3Wrapper_Res_Field=CompanyName|UEZ Software Development ;#AutoIt3Wrapper_Res_Field=ProductName|GDI+ Show Histogram ;#AutoIt3Wrapper_Res_Field=ProductVersion|%AutoItVer% #AutoIt3Wrapper_Res_Fileversion=0.9.8.0 ;#AutoIt3Wrapper_Res_Field=Build|2015-07-10 #AutoIt3Wrapper_Res_LegalCopyright=UEZ Software Development #AutoIt3Wrapper_Res_Language=1033 ;#AutoIt3Wrapper_Res_Field=URL|http://www.autoitscript.com/forum/index.php?showtopic=147777 #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/so /pe /rm #AutoIt3Wrapper_Run_After=del /f /q "%scriptdir%\%scriptfile%_stripped.au3" #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_UPX_Parameters=--best --lzma #AutoIt3Wrapper_Run_After=upx.exe --best --lzma "GDI+ Show Histogram_x64.exe" #AutoIt3Wrapper_UseX64=n #include <Constants.au3> #include <GUIConstantsEx.au3> #include <GDIPlus.au3> #include <WindowsConstants.au3> Opt("MustDeclareVars", 1) Opt("MouseCoordMode", 2) _GDIPlus_Startup() If @error Then Exit MsgBox(0x40010, "Error", "GDI+ Show Histogram can run on operating systems Vista or newer only!") Global $ghGDIPDll = $__g_hGDIPDll, $aRes Global Const $hFullScreen = WinGetHandle("[TITLE:Program Manager;CLASS:Progman]") Global Const $aFullScreen = WinGetPos($hFullScreen) Global Enum $HistogramFormatARGB, $HistogramFormatPARGB, $HistogramFormatRGB, $HistogramFormatGray, _ ;http://msdn.microsoft.com/en-us/library/windows/desktop/ms534129(v=vs.85).aspx $HistogramFormatB, $HistogramFormatG, $HistogramFormatR, $HistogramFormatA Global $tStructChannel0 = DllStructCreate("uint channel0[256]") Global $pStructChannel0 = DllStructGetPtr($tStructChannel0) Global $tStructChannel1 = DllStructCreate("uint channel1[256]") Global $pStructChannel1 = DllStructGetPtr($tStructChannel1) Global $tStructChannel2 = DllStructCreate("uint channel2[256]") Global $pStructChannel2 = DllStructGetPtr($tStructChannel2) Global $tStructChannel3 = DllStructCreate("uint channel3[256]") Global $pStructChannel3 = DllStructGetPtr($tStructChannel3) Global $s, $sFile, $hImage, $bImgLoaded = False, $aLuminosity[257], $aCRGB[257] Global Const $STM_SETIMAGE = 0x0172, $iLineJoinBevel = 1, $frY = 0.299, $fgY = 0.587, $fbY = 0.114 Global Const $hGUI = GUICreate("GDI+ Show Histogram v0.98 beta by UEZ build 2015-07-13", 468, 310, -1, -1, Default, Default) GUISetBkColor(0xFFFFFF, $hGUI) Global Const $sLabel_Titel_Txt = "GDI+ Show Histogram" Global Const $iPosX_Label = 20, $iPosY_Label = 12 Global Const $iLabel_Titel_Shadow = GUICtrlCreateLabel($sLabel_Titel_Txt, $iPosX_Label, $iPosY_Label, 429, 57) GUICtrlSetFont(-1, 30, 400, 0, "Comic Sans MS", 4) GUICtrlSetColor(-1, 0xC0C0D8) Global Const $iLabel_Titel = GUICtrlCreateLabel($sLabel_Titel_Txt, $iPosX_Label - 4, $iPosY_Label - 4, 429, 57) GUICtrlSetFont(-1, 30, 400, 0, "Comic Sans MS", 4) GUICtrlSetColor(-1, 0x0000C0) GUICtrlSetBkColor(-1, -2) Global Const $iPic_Histogram = GUICtrlCreatePic("", 20, 90, 255, 127, -1, $WS_EX_STATICEDGE) GUICtrlSetCursor(-1, 14) Global Const $iPic_ColorGradient = GUICtrlCreatePic("", 20, 220, 255, 24, -1, $WS_EX_STATICEDGE) Global Const $iGroup = GUICtrlCreateGroup("Channel", 290, 84, 160, 164) Global Const $iRadio_L = GUICtrlCreateRadio("Luminosit&y (gray)", 300, 100, 110, 20) GUICtrlSetTip(-1, $frY & "*R, " & $fgY & "*G, " & $fbY & "*B") GUICtrlSetState($iRadio_L, $GUI_CHECKED) Global Const $iRadio_C = GUICtrlCreateRadio("&cRGB", 300, 130, 60, 20) GUICtrlSetTip(-1, "Combined average of RGB values") Global Const $iRadio_R = GUICtrlCreateRadio("&Red", 300, 160, 60, 20) Global Const $iRadio_G = GUICtrlCreateRadio("&Green", 300, 190, 60, 20) Global Const $iRadio_B = GUICtrlCreateRadio("&Blue", 300, 220, 60, 20) GUICtrlCreateGroup("", -99, -99, 1, 1) Global Const $iButton_Save = GUICtrlCreateButton("&Save", 209, 265, 70, 30) GUICtrlSetTip(-1, "Click button to save all histogram images") GUICtrlSetState(-1, $GUI_DISABLE) Global Const $iButton_Load = GUICtrlCreateButton("&Load", 290, 265, 70, 30) GUICtrlSetTip(-1, "Click button to load an image") Global Const $iButton_Exit = GUICtrlCreateButton("E&xit", 390, 265, 60, 30) Global $sLabelCredit_Txt = "coded by UEZ'13" Global $aLabelCredit_Pos[StringLen($sLabelCredit_Txt)][4], $u, $iFS = 6.5, $iY = 280 For $u = 0 To UBound($aLabelCredit_Pos) - 1 $aLabelCredit_Pos[$u][0] = StringMid($sLabelCredit_Txt, $u + 1, 1) $aLabelCredit_Pos[$u][1] = 20 + $u * ($iFS - 0.25) $aLabelCredit_Pos[$u][2] = $iY $aLabelCredit_Pos[$u][3] = GUICtrlCreateLabel($aLabelCredit_Pos[$u][0], $aLabelCredit_Pos[$u][1], $aLabelCredit_Pos[$u][2], $iFS, $iFS * 1.8) GUICtrlSetFont(-1, $iFS, 400, 0, "Comic Sans MS", 2) GUICtrlSetColor(-1, 0x006000) Next Global $aLabelCredit_AnimPos[300] For $u = 0 To UBound($aLabelCredit_AnimPos) - 1 $aLabelCredit_AnimPos[$u] = $iY Next Global Const $fLimes = 2.2, $fStep = 0.1 Global $iPT = 0, $z = Int((UBound($aLabelCredit_AnimPos) - ($fLimes * $fStep * 100)) / 2) For $u = 0 To $fLimes Step $fStep $aLabelCredit_AnimPos[$z] = $iY + Sin($iPT * 4) * 10 $z += 1 $iPT += 0.075 Next Global $ihGui_PreviewSize = 256, $iBGColor = 0xF0F0F0 Global $hGui_Preview = GUICreate("", $ihGui_PreviewSize, $ihGui_PreviewSize + 58, -1, -1, $WS_POPUP + $WS_BORDER, $WS_EX_TOPMOST, $hGUI) Global $iPic_Preview = GUICtrlCreatePic("", 0, 0, $ihGui_PreviewSize, $ihGui_PreviewSize) Global $idLabel_Info = GUICtrlCreateLabel("", 0, $ihGui_PreviewSize, $ihGui_PreviewSize * 2, 58) GUICtrlSetFont(-1, 8.5, 400, 0, "Arial", 5) GUICtrlSetColor(-1, $iBGColor) GUICtrlSetBkColor(-1, 0x333333) Global Const $hTexture_Checkerboard = _GDIPlus_CreateCheckerboardTexture(8, 0xFFFBFBFB, 0xFFFFFFFF) Global $hHBmp_L = _GDIPlus_CreateColorGradient("L", 256, 24) Global $hHBmp_C = _GDIPlus_CreateColorGradient("C", 256, 24) Global $hHBmp_R = _GDIPlus_CreateColorGradient("R", 256, 24) Global $hHBmp_G = _GDIPlus_CreateColorGradient("G", 256, 24) Global $hHBmp_B = _GDIPlus_CreateColorGradient("B", 256, 24) Global Const $hHBmp_HL = _GDIPlus_BitmapCreateFromScan0(256, 127) Global Const $hCtxt_HL = _GDIPlus_ImageGetGraphicsContext($hHBmp_HL) Global Const $hHBmp_HC = _GDIPlus_BitmapCloneArea($hHBmp_HL, 0, 0, 256, 127, 0x0026200A) Global Const $hCtxt_HC = _GDIPlus_ImageGetGraphicsContext($hHBmp_HC) Global Const $hHBmp_HR = _GDIPlus_BitmapCloneArea($hHBmp_HL, 0, 0, 256, 127, 0x0026200A) Global Const $hCtxt_HR = _GDIPlus_ImageGetGraphicsContext($hHBmp_HR) Global Const $hHBmp_HG = _GDIPlus_BitmapCloneArea($hHBmp_HL, 0, 0, 256, 127, 0x0026200A) Global Const $hCtxt_HG = _GDIPlus_ImageGetGraphicsContext($hHBmp_HG) Global Const $hHBmp_HB = _GDIPlus_BitmapCloneArea($hHBmp_HL, 0, 0, 256, 127, 0x0026200A) Global Const $hCtxt_HB = _GDIPlus_ImageGetGraphicsContext($hHBmp_HB) _GDIPlus_GraphicsClear($hCtxt_HL, 0xFFFFFFFF) _hBmpToPicControl($iPic_ColorGradient, $hHBmp_L) Global $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HL) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) GUISetState(@SW_HIDE, $hGui_Preview) GUISetState(@SW_SHOW, $hGUI) ControlFocus($hGUI, "", $iButton_Load) Global $hPen_H = _GDIPlus_PenCreate() $s = "L" Global $iDummyL = GUICtrlCreateDummy(), $iDummyC = GUICtrlCreateDummy(), $iDummyR = GUICtrlCreateDummy(), $iDummyG = GUICtrlCreateDummy(), $iDummyB = GUICtrlCreateDummy() Global $iHistogramFormat, $hHBmp_Preview, $aPosCtrl, $aPosWin, $aMouseInfo, $aPos_hWnd, $imp, $iVal, $iMpos_oldx, $iMpos_oldy, $sType, $iPaletteType, $iPixelFormat Global $fAverage_L, $fAverage_cRGB, $iAverage_R, $iAverage_B, $iAverage_G, $o = 0 Global $bShow = False, $bHide = False, $bIsAlpha = False, $bIsGray = False Global Const $iEntries = 256 Global Const $tagCOLORPALETTE = "uint Flags;" & _ ; Palette flags "uint Count;" & _ ; Number of color entries "uint ARGB[" & $iEntries & "];" ; Palette color AdlibRegister("AnimateLabel", 60) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $iButton_Exit AdlibUnRegister("AnimateLabel") GUIDelete($hGui_Preview) GUIDelete($hGUI) _WinAPI_DeleteObject($hHBmp_L) _WinAPI_DeleteObject($hHBmp_C) _WinAPI_DeleteObject($hHBmp_L) _WinAPI_DeleteObject($hHBmp_R) _WinAPI_DeleteObject($hHBmp_G) _WinAPI_DeleteObject($hHBmp_B) If $hHBmp_Preview Then _WinAPI_DeleteObject($hHBmp_Preview) _GDIPlus_PenDispose($hPen_H) _GDIPlus_BrushDispose($hTexture_Checkerboard) _GDIPlus_GraphicsDispose($hCtxt_HL) _GDIPlus_GraphicsDispose($hCtxt_HC) _GDIPlus_GraphicsDispose($hCtxt_HR) _GDIPlus_GraphicsDispose($hCtxt_HG) _GDIPlus_GraphicsDispose($hCtxt_HB) _GDIPlus_BitmapDispose($hHBmp_HL) _GDIPlus_BitmapDispose($hHBmp_HC) _GDIPlus_BitmapDispose($hHBmp_HR) _GDIPlus_BitmapDispose($hHBmp_HG) _GDIPlus_BitmapDispose($hHBmp_HB) _GDIPlus_Shutdown() $tStructChannel0 = 0 $tStructChannel1 = 0 $tStructChannel2 = 0 $tStructChannel3 = 0 Exit Case $iRadio_L, $iDummyL If $s <> "L" Then _hBmpToPicControl($iPic_ColorGradient, $hHBmp_L) If $bImgLoaded Then $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HL) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) EndIf $s = "L" EndIf Case $iRadio_C, $iDummyC If $s <> "C" Then _hBmpToPicControl($iPic_ColorGradient, $hHBmp_C) If $bImgLoaded Then $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HC) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) EndIf $s = "C" EndIf Case $iRadio_R, $iDummyR If $s <> "R" Then _hBmpToPicControl($iPic_ColorGradient, $hHBmp_R) If $bImgLoaded Then $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HR) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) EndIf $s = "R" EndIf Case $iRadio_G, $iDummyG If $s <> "G" Then _hBmpToPicControl($iPic_ColorGradient, $hHBmp_G) If $bImgLoaded Then $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HG) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) EndIf $s = "G" EndIf Case $iRadio_B, $iDummyB If $s <> "B" Then _hBmpToPicControl($iPic_ColorGradient, $hHBmp_B) If $bImgLoaded Then $hB_H = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hHBmp_HB) _hBmpToPicControl($iPic_Histogram, $hB_H, 1) EndIf $s = "B" EndIf Case $iButton_Load $sFile = FileOpenDialog("Select an image", "", "Images (*.jpg;*.png;*.bmp;*.gif)", 3) If @error Then ContinueCase If $bImgLoaded Then _GDIPlus_ImageDispose($hImage) $hImage = _GDIPlus_ImageLoadFromFile($sFile) If @error Then MsgBox(0x40010, "Error", "Unable to load image", 30) ContinueCase EndIf GUICtrlSetState($iButton_Save, $GUI_ENABLE) $aRes = _GDIPlus_ImageGetFlags($hImage) If BitAND($aRes[0], $GDIP_IMAGEFLAGS_HASALPHA) Then $bIsAlpha = True Else $bIsAlpha = False EndIf If BitAND($aRes[0], $GDIP_IMAGEFLAGS_COLORSPACE_GRAY) Then $bIsGray = True Else $bIsGray = False EndIf $hHBmp_Preview = _GetImage($sFile, $ihGui_PreviewSize, $iBGColor) _hBmpToPicControl($iPic_Preview, $hHBmp_Preview, 1) If Not $bIsAlpha Then $pStructChannel3 = 0 $iHistogramFormat = $HistogramFormatRGB Else $pStructChannel3 = DllStructGetPtr($tStructChannel3) $iHistogramFormat = $HistogramFormatARGB EndIf _GDIPlus_BitmapGetHistogram($hImage, $iHistogramFormat, _GDIPlus_BitmapGetHistogramSize($iHistogramFormat), $pStructChannel0, $pStructChannel1, $pStructChannel2, $pStructChannel3) _GDIPlus_CreateHistogram() $bImgLoaded = True If BitAND(GUICtrlRead($iRadio_L), $GUI_CHECKED) Then $s = "" GUICtrlSendToDummy($iDummyL) ElseIf BitAND(GUICtrlRead($iRadio_C), $GUI_CHECKED) Then $s = "" GUICtrlSendToDummy($iDummyC) ElseIf BitAND(GUICtrlRead($iRadio_R), $GUI_CHECKED) Then $s = "" GUICtrlSendToDummy($iDummyR) ElseIf BitAND(GUICtrlRead($iRadio_G), $GUI_CHECKED) Then $s = "" GUICtrlSendToDummy($iDummyG) Else $s = "" GUICtrlSendToDummy($iDummyB) EndIf Case $iButton_Save If $sFile = "" Then ContinueLoop $sType = "png" $o += _GDIPlus_ImageSaveToFile($hHBmp_HL, StringRegExpReplace($sFile, "(.*)\..*", "$1") & "_Luminosity." & $sType) $o += _GDIPlus_ImageSaveToFile($hHBmp_HC, StringRegExpReplace($sFile, "(.*)\..*", "$1") & "_cRGB." & $sType) $o += _GDIPlus_ImageSaveToFile($hHBmp_HR, StringRegExpReplace($sFile, "(.*)\..*", "$1") & "_Red." & $sType) $o += _GDIPlus_ImageSaveToFile($hHBmp_HG, StringRegExpReplace($sFile, "(.*)\..*", "$1") & "_Green." & $sType) $o += _GDIPlus_ImageSaveToFile($hHBmp_HB, StringRegExpReplace($sFile, "(.*)\..*", "$1") & "_Blue." & $sType) If $o = 5 Then MsgBox(64 + 262144, "Information", "Images properly saved to " & StringRegExpReplace($sFile, "(.*)\\.*", "$1"), 30, $hGUI) Else MsgBox(16 + 262144, "Error", "One or more images could not saved to " & StringRegExpReplace($sFile, "(.*)\\.*", "$1") & ".", 30, $hGUI) EndIf EndSwitch If WinActive($hGUI) Then $aMouseInfo = GUIGetCursorInfo($hGUI) Switch $aMouseInfo[4] Case $iPic_Histogram If $bImgLoaded Then $aPos_hWnd = WinGetPos($hGUI) $imp = Max(1, Min(256, -19 + $aMouseInfo[0])) Switch $s Case "L" $iVal = $aLuminosity[$imp] Case "C" $iVal = $aCRGB[$imp] Case "R" $iVal = DllStructGetData($tStructChannel0, "channel0", $imp) Case "G" $iVal = DllStructGetData($tStructChannel1, "channel1", $imp) Case "B" $iVal = DllStructGetData($tStructChannel2, "channel2", $imp) EndSwitch If $iMpos_oldx <> $aMouseInfo[0] Or $iMpos_oldy <> $aMouseInfo[1] Then ToolTip("Index: " & $imp & ", Value: " & Round($iVal, 0) & ", Average: " & Round($fAverage_L, 2), $aPos_hWnd[0] + $aMouseInfo[0] - 60, $aMouseInfo[1] + $aPos_hWnd[1] - 20) $iMpos_oldx = $aMouseInfo[0] $iMpos_oldy = $aMouseInfo[1] EndIf ShowPreview($iPic_Histogram) $bShow = True $bHide = False EndIf Case Else If Not $bHide Then GUISetState(@SW_HIDE, $hGui_Preview) $bHide = True ToolTip("") EndIf $bShow = False EndSwitch EndIf WEnd Func AnimateLabel() Local Static $v = Int((UBound($aLabelCredit_AnimPos) - ($fLimes * $fStep * 100)) / 2) Local $u For $u = 0 To UBound($aLabelCredit_Pos) - 1 GUICtrlSetPos($aLabelCredit_Pos[$u][3], $aLabelCredit_Pos[$u][1], $aLabelCredit_AnimPos[$v - $u]) Next If $v - $u < 0 Then $v = UBound($aLabelCredit_AnimPos) - 1 $v -= 1 EndFunc ;==>AnimateLabel Func Min($a, $b) If $a < $b Then Return $a Return $b EndFunc ;==>Min Func Max($a, $b) If $a > $b Then Return $a Return $b EndFunc ;==>Max Func ShowPreview($iCtrl) $aPosWin = WinGetPos($hGUI) $aPosCtrl = ControlGetPos($hGUI, "", $iCtrl) Local $iNewX, $iNewX1 = $aPosWin[0] - $ihGui_PreviewSize + 10, $iNewX2 = $aPosWin[0] + $aPosWin[2] - 10 $iNewX = $iNewX1 If $iNewX1 < $aFullScreen[0] Then $iNewX = $iNewX2 EndIf WinMove($hGui_Preview, "", $iNewX, $aPosWin[1] + 50) GUISetState(@SW_SHOWNOACTIVATE, $hGui_Preview) EndFunc ;==>ShowPreview Func _GetImage($sFile, $iWH, $iBkClr = 0xFFFFFF, $bCheckerboard_Bg = True) Local $hBmp1, $hBitmap, $hGraphic, $hImage, $iW, $iH, $aGS, $hBmp2, $aFTS $aFTS = FileGetTime($sFile) If @error Then Return SetError(1, 0, 0) $hBmp1 = _WinAPI_CreateBitmap($iWH, $iWH, 1, 32) $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp1) $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap) _WinAPI_DeleteObject($hBmp1) $hImage = _GDIPlus_ImageLoadFromFile($sFile) $iW = _GDIPlus_ImageGetWidth($hImage) $iH = _GDIPlus_ImageGetHeight($hImage) GUICtrlSetData($idLabel_Info, StringRegExpReplace($sFile, ".*\\(.*)", "$1") & @LF & Round(FileGetSize($sFile) / 1024, 0) & " kb (" & $iW & " x " & $iH & ")" & @LF & $aFTS[0] & "/" & $aFTS[1] & "/" & $aFTS[2] & " " & $aFTS[3] & ":" & $aFTS[4] & ":" & $aFTS[5] & @LF & "Alpha: " & $bIsAlpha & ", Gray: " & $bIsGray) $aGS = _GetScale($iW, $iH, $iWH) Switch $bCheckerboard_Bg Case True ;~ _GDIPlus_GraphicsFillRect($hGraphic, 0, 0, $iWH, $iWH, $hTexture_Checkerboard) _GDIPlus_GraphicsClear($hGraphic, BitOR(0xFF000000, $iBkClr)) _GDIPlus_GraphicsFillRect($hGraphic, $aGS[0], $aGS[1], $aGS[2], $aGS[3], $hTexture_Checkerboard) Case False _GDIPlus_GraphicsClear($hGraphic, BitOR(0xFF000000, $iBkClr)) EndSwitch _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, $aGS[0], $aGS[1], $aGS[2], $aGS[3]) _GDIPlus_ImageDispose($hImage) _GDIPlus_GraphicsDispose($hGraphic) $hBmp2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hBmp2 EndFunc ;==>_GetImage Func _GetScale($iW, $iH, $iWH) Local $aRet[4] If $iW <= $iWH And $iH <= $iWH Then $aRet[2] = $iW $aRet[3] = $iH $aRet[0] = ($iWH - $aRet[2]) / 2 $aRet[1] = ($iWH - $aRet[3]) / 2 ElseIf $iW > $iH Then $aRet[2] = $iWH $aRet[3] = $iH / ($iW / $iWH) $aRet[0] = 0 $aRet[1] = ($iWH - $aRet[3]) / 2 ElseIf $iW < $iH Then $aRet[2] = $iW / ($iH / $iWH) $aRet[3] = $iWH $aRet[0] = ($iWH - $aRet[2]) / 2 $aRet[1] = 0 ElseIf $iW = $iH Then $aRet[2] = $iWH $aRet[3] = $iWH $aRet[0] = 0 $aRet[1] = 0 EndIf Return $aRet EndFunc ;==>_GetScale Func _hBmpToPicControl($iCID, ByRef $hBmp, $iFlag = 0) Local $hOldBmp $hOldBmp = GUICtrlSendMsg($iCID, $STM_SETIMAGE, $IMAGE_BITMAP, $hBmp) If $hOldBmp Then _WinAPI_DeleteObject($hOldBmp) If $iFlag Then _WinAPI_DeleteObject($hBmp) EndFunc ;==>_hBmpToPicControl Func _GDIPlus_CreateHistogram($sRounding = "Ceiling") Local $iMaxL, $iMaxC, $iMaxR, $iMaxG, $iMaxB, $a, $r, $g, $b, $yR, $yG, $yB, $iRedAv, $iGreenAv, $iBlueAv For $i = 1 + $bIsAlpha To 256 If $bIsAlpha Then ;~ ConsoleWrite("Alpha: " & DllStructGetData($tStructChannel0, "channel0", $i) & @CRLF) $r = DllStructGetData($tStructChannel1, "channel1", $i) $yR = $r * $frY If DllStructGetData($tStructChannel1 , "channel1", $i) > $iMaxR Then $iMaxR = $r $g = DllStructGetData($tStructChannel2, "channel2", $i) $yG = $g * $fgY If DllStructGetData($tStructChannel2 , "channel2", $i) > $iMaxG Then $iMaxG = $g $b = DllStructGetData($tStructChannel3, "channel3", $i) $yB = $b * $fbY If DllStructGetData($tStructChannel3 , "channel3", $i) > $iMaxB Then $iMaxB = $b $fAverage_cRGB += $r + $g + $b $fAverage_L += $yR + $yG + $yB Else $r = DllStructGetData($tStructChannel0, "channel0", $i) $yR = $r * $frY If DllStructGetData($tStructChannel0 , "channel0", $i) > $iMaxR Then $iMaxR = $r $g = DllStructGetData($tStructChannel1, "channel1", $i) $yG = $g * $fgY If DllStructGetData($tStructChannel1 , "channel1", $i) > $iMaxG Then $iMaxG = $g $b = DllStructGetData($tStructChannel2, "channel2", $i) $yB = $b * $fbY If DllStructGetData($tStructChannel2 , "channel2", $i) > $iMaxB Then $iMaxB = $b EndIf $fAverage_cRGB += $r + $g + $b $fAverage_L += $yR + $yG + $yB $aLuminosity[$i] = $yR + $yG + $yB If $aLuminosity[$i] > $iMaxL Then $iMaxL = $aLuminosity[$i] $aCRGB[$i] = ($r + $g + $b) / 3 If $aCRGB[$i] > $iMaxC Then $iMaxC = $aCRGB[$i] Next $fAverage_cRGB /= 256 * 3 $fAverage_L /= 256 _GDIPlus_GraphicsClear($hCtxt_HL, 0xFFFFFFFF) _GDIPlus_GraphicsClear($hCtxt_HC, 0xFFFFFFFF) _GDIPlus_GraphicsClear($hCtxt_HR, 0xFFFFFFFF) _GDIPlus_GraphicsClear($hCtxt_HG, 0xFFFFFFFF) _GDIPlus_GraphicsClear($hCtxt_HB, 0xFFFFFFFF) Local $iDL = 1, $iDC = 1, $iDR = 1, $iDG = 1, $iDB = 1 Local $sRoundings = "Round,Ceiling,Floor," If Not StringInStr($sRoundings, $sRounding) Then $sRounding = "Ceiling" If $iMaxL > 128 Then ;~ $iDL = Ceiling($iMaxL / 128) $iDL = Execute($sRounding & "(" & $iMaxL / 128 & ")") Else $iDL = 1 / (128 / $iMaxL) EndIf If $iMaxC > 128 Then ;~ $iDC = Ceiling($iMaxC / 128) $iDC = Execute($sRounding & "(" & $iMaxC / 128 & ")") Else $iDC = 1 / (128 / $iMaxC) EndIf If $iMaxR > 128 Then ;~ $iDR = Ceiling($iMaxR / 128) $iDR = Execute($sRounding & "(" & $iMaxR / 128 & ")") Else $iDR = 1 / (128 / $iMaxR) EndIf If $iMaxG > 128 Then ;~ $iDG = Ceiling($iMaxG / 128) $iDG = Execute($sRounding & "(" & $iMaxG / 128 & ")") Else $iDG = 1 / (128 / $iMaxG) EndIf If $iMaxB > 128 Then ;~ $iDB = Ceiling($iMaxB / 128) $iDB = Execute($sRounding & "(" & $iMaxB / 128 & ")") Else $iDB = 1 / (128 / $iMaxB) EndIf For $i = 1 To 256 _GDIPlus_PenSetColor($hPen_H, 0xFF000000) _GDIPlus_GraphicsDrawLine($hCtxt_HL, $i - 1, 127, $i - 1, 127 - (Int($aLuminosity[$i] / $iDL)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFF000000) _GDIPlus_GraphicsDrawLine($hCtxt_HC, $i - 1, 127, $i - 1, 127 - (Int($aCRGB[$i] / $iDC)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFFB00000) If $bIsAlpha Then _GDIPlus_GraphicsDrawLine($hCtxt_HR, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel1, "channel1", $i) / $iDR)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFF00B000) _GDIPlus_GraphicsDrawLine($hCtxt_HG, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel2, "channel2", $i) / $iDG)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFF0000B0) _GDIPlus_GraphicsDrawLine($hCtxt_HB, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel3, "channel3", $i) / $iDB)), $hPen_H) Else _GDIPlus_GraphicsDrawLine($hCtxt_HR, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel0, "channel0", $i) / $iDR)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFF00B000) _GDIPlus_GraphicsDrawLine($hCtxt_HG, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel1, "channel1", $i) / $iDG)), $hPen_H) _GDIPlus_PenSetColor($hPen_H, 0xFF0000B0) _GDIPlus_GraphicsDrawLine($hCtxt_HB, $i - 1, 127, $i - 1, 127 - (Int(DllStructGetData($tStructChannel2, "channel2", $i) / $iDB)), $hPen_H) EndIf Next EndFunc ;==>_GDIPlus_CreateHistogram Func _GDIPlus_CreateColorGradient($sColorChannel, $iW, $iH, $bHBitmap = True) Local $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) ;~ _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) Local $hPen = _GDIPlus_PenCreate() _GDIPlus_PenSetLineJoin($hPen, $iLineJoinBevel) Local $i, $c For $i = 0 To $iW $c = Hex($i, 2) Switch $sColorChannel Case "L" _GDIPlus_PenSetColor($hPen, "0xFF" & $c & $c & $c) Case "C" _GDIPlus_PenSetColor($hPen, "0xFF" & $c & $c & $c) Case "R" _GDIPlus_PenSetColor($hPen, "0xFF" & $c & "0000") Case "G" _GDIPlus_PenSetColor($hPen, "0xFF00" & $c & "00") Case "B" _GDIPlus_PenSetColor($hPen, "0xFF0000" & $c) EndSwitch _GDIPlus_GraphicsDrawLine($hCtxt, $i, 0, $i, $iH, $hPen) Next _GDIPlus_GraphicsDispose($hCtxt) _GDIPlus_PenDispose($hPen) If $bHBitmap Then Local $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndIf Return $hBitmap EndFunc ;==>_GDIPlus_CreateColorGradient Func _GDIPlus_CreateCheckerboardTexture($iSquareSize = 80, $iCol1 = 0xFFECECEC, $iCol2 = 0xFFDFDFDF) Local $hPatternBitmap = _GDIPlus_BitmapCreateFromScan0(2 * $iSquareSize, 2 * $iSquareSize) Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hPatternBitmap) Local $hBrush0 = _GDIPlus_BrushCreateSolid($iCol1) Local $hBrush1 = _GDIPlus_BrushCreateSolid($iCol2) _GDIPlus_GraphicsFillRect($hCtxt, 0, 0, $iSquareSize, $iSquareSize, $hBrush0) _GDIPlus_GraphicsFillRect($hCtxt, $iSquareSize, 0, $iSquareSize, $iSquareSize, $hBrush1) _GDIPlus_GraphicsFillRect($hCtxt, 0, $iSquareSize, $iSquareSize, $iSquareSize, $hBrush1) _GDIPlus_GraphicsFillRect($hCtxt, $iSquareSize, $iSquareSize, $iSquareSize, $iSquareSize, $hBrush0) Local $hTexture = _GDIPlus_TextureCreate($hPatternBitmap) _GDIPlus_GraphicsDispose($hCtxt) _GDIPlus_BitmapDispose($hPatternBitmap) _GDIPlus_BitmapDispose($hBrush0) _GDIPlus_BitmapDispose($hBrush1) Return $hTexture EndFunc ;==>_CreatePatternTexture  
      GdipBitmapGetHistogram(), GdipBitmapGetHistogramSize() and 2 more GDI+ functions requires GDI+ v1.1 which means this will only run on Vista or higher operating systems.
      I hope the values are correct especially the value for luminosity.
      Br,
      UEZ
    • UEZ
      By UEZ
      AutoIt Windows Screenshooter
      Key Features:
      takes easily a screenshot from any visible window capture any region of the desktop incl. freehand capturing capture GUI controls and GUI menus separately capture a marked area every x seconds for a duration of y seconds create a GIF animation from saved frames (Vista or higher os required) capture to AVI file (without audio!) takes a screenshot from web sites (available only on Win7+ os and when Aero is enabled) put images to clipboard to paste to other applications easily color picker save image in different formats and also to PDF! add timestamp to saved images simple image editing options: greyscale, b&w, invert, rotate +-90° send image to printer and default email client preview of captured screens incl. zoom option multi monitor support display pixel color under mouse ruler basic image editor (paint, highlight, ellipse, rectangle, text and some graphic FX) watermark captured image no 3rd party tools or DLLs used - pure AutoIt! fully portable - no installation is needed multi language feature (Eng, Ger, Tur, Fra and Rus only) To do:
      capture content of scrollable window/control capture cascaded menus Due to DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "handle", $hMemDC, "int", 0) limitation some windows cannot be captured properly (GDI+, ProgDVB, etc.) but can take screenshots of hidden windows. One workaround is to use full screen capturing (F11/F12) or "Grab Screen" function! Or try double click with rmb on listview items (beta).
      Download source code (7339 downloads previously): AutoIt Windows Screenshooter v1.82 Build 2018-12-13.7z (version 3.3.12.0+ needed!)
      You are not allowed to sell this code or just parts of it in a commercial project or modify it and distribute it with a different name!
      Download compiled Exe only: 4shared / Media Fire  / Softpedia (1.54mb)
      Distributing copies of the program in compiled format (exe) must be free of any fee!
      -----> click here to Donate!  
       
      (Current donators: 1. Cuong N.) 
      It is designed for Win7+ operating systems with AERO enabled! E.g. on WinXP machines some functions are not working properly and might crash the application!
      AV scanners may have a negative impact the execution of compiled exe and might report any malware. I guarantee that there is no malicious code in the source code / exe!!! 
      Main GUI:

       
       
      About Intro:

       
       
      Basic Image Editor:

       
       
      Watermark:

       
       
      Click link for an enhanced version of Watermark Image.
      Credits:
      main code by UEZ additional code (alphabetical order) by Authenticity, AutoItObject Team, Eemuli, Eukalyptus, funkey, _Kurt, martin, monoceres, ProgAndy, taietel, trancexx, Ward, wolf9228 and Yashied! mesale0077 for turkish translation wakillon for french translation AZJIO for russian translation Keys:
      Main GUI:
      User your mouse to scroll preview window or
      Numpad 8: Scroll preview window up
      Numpad 2: Scroll preview window down
      Numpad 4: Scroll preview window left
      Numpad 6: Scroll preview window right
      Numpad +: zoom in preview window or mouse wheel down
      Numpad -: zoom out preview window or mouse wheel up
      F1: capture again on last position
      F5: refresh Windows Name list
      PRINTSCREEN: take screenshot from whole screen
      ALT+PRINTSCR: take a screenshot from active window
      F10: Undo made changes with Image Editing function
      F11: take screenshot from whole screen incl mouse cursor
      F12: take screenshot from whole screen
      Ctrl+Alt+F9 start "Grab Screen" mode
      Ctrl+Alt+F12: take a screenshot from active window using alternative screenshot functionality (beta)!
      Ctrl+r: call ruler
      Ctrl+s: save current displayed image
      Ctrl+x: exit program
      ctrl+w: call web grab input field (available only when Aero is enabled)
      Ctrl+i: call image editor
      Ctrl+m: call watermark editor
      Ctrl+z: undo
      Only available on Vista+ os: double click with rmb on list items to use alternative screenshot functionality (beta)!
      When 'Grab Screen' is clicked you can hold down the ctrl key to switch to 'grab controls' mode. Control under mouse will be framed red.
      ctrl + shift will take the screenshot of appropriate control. To capture GUI menus you can press rmb which simulates the lmb. When a menu is opened press shift additionally to capture it.
      Press and hold only the shift key to capture any region on the desktop using freehand capturing - release it so capture marked regions!
      Or just mark resize able area which you want to grab. Press CTRL key to grab marked area or right mouse button to capture the marked area every x seconds for a duration of y seconds.
      When saving the image just enter the extension you wish to use (*.jpg;*.png;*.bmp;*.gif;*.tif;*.pdf). Big thanks to taietel for his PDF UDF!
      Image Editor:
      s: save
      c: copy
      n: send
      h: highlighter
      p: pen
      r: rectangle
      e: ellipse
      a: arrow
      o: color
      t: text
      g: text config
      Ctrl+z: undo
      Watermark editor:
      Ctrl+z: undo
       
      To start the app minimized just call it "Windows Screenshooter.exe /min"
      Maybe it is useful for someone...
      Any kind of comment is welcome.
      Br,
      UEZ
      Change log:
       
    • UEZ
      By UEZ
      Here another example to mark the desktop to get the marked region for capturing. This example is not perfect and not very fast (room for improvements).
      ;coded by UEZ build 2018-11-30 beta ;code cleanup up mLipok #include <APISysConstants.au3> #include <Array.au3> #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WinAPIGdi.au3> #include <WinAPISysWin.au3> #include <WindowsConstants.au3> Global $__g_hGUI_MarkArea, $__g_hGUI_Bg, $__g_iLabel_TL, $__g_iLabel_TM, $__g_iLabel_TR, $__g_iLabel_LM, $__g_iLabel_RM, $__g_iLabel_BL, $__g_iLabel_BM, _ $__g_iLabel_BR, $__g_iOldCursor, $__g_iW, $__g_iH, $__g_iColor_ResizeDots = 0xFFFFFF, $__g_iBorder = 4, $__g_bSelectionDone = False Global $aRect = _GDIPlus_MarkScreenRegionAnimated() _ArrayDisplay($aRect, "Marked area coordinates") Func _GDIPlus_MarkScreenRegionAnimated($bAnim = True) _GDIPlus_Startup() Local Const $hFullScreen = WinGetHandle("[TITLE:Program Manager;CLASS:Progman]") Local Const $aFullScreen = WinGetPos($hFullScreen) $__g_hGUI_Bg = GUICreate("", $aFullScreen[2], $aFullScreen[3], $aFullScreen[0], $aFullScreen[1], BitOR($WS_CLIPCHILDREN, $WS_POPUP), $WS_EX_TOPMOST) ;to avoid cursor flickering and for proper control read WinSetTrans($__g_hGUI_Bg, "", 0x01) $__g_hGUI_MarkArea = GUICreate("", 1, 1, -1, -1, $bAnim ? $WS_POPUP : BitOR($WS_POPUP, $WS_BORDER), BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED), $__g_hGUI_Bg) GUISetBkColor(0xABCDEF, $__g_hGUI_MarkArea) If Not $bAnim Then $__g_iColor_ResizeDots = 0xFF0000 $__g_iLabel_TL = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;top left GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_TM = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;top mid GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_TR = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;top right GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_LM = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;left mid GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_RM = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;right mid GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_BL = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;bottom left GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_BM = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;bottom mid GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) $__g_iLabel_BR = GUICtrlCreateLabel("", 0, 0, $__g_iBorder, $__g_iBorder) ;bottom right GUICtrlSetResizing(-1, $GUI_DOCKSIZE) GUICtrlSetBkColor(-1, $__g_iColor_ResizeDots) GUISetState(@SW_SHOWNA, $__g_hGUI_Bg) GUISetState(@SW_SHOW, $__g_hGUI_MarkArea) $__g_iOldCursor = MouseGetCursor() GUISetCursor(3, 1, $__g_hGUI_Bg) GUISetCursor(3, 1, $__g_hGUI_MarkArea) _WinAPI_SetLayeredWindowAttributes($__g_hGUI_MarkArea, 0xABCDEF, 0xF0) Local $aMPos, $aPrevMPos[2] = [MouseGetPos(0) + 1, MouseGetPos(1) + 1], $iID, $aCI, $iX, $iY, $aOldWinPos, $aOldMPos, $bMoved Local $aGUIStartPos, $iKey_Exit = GUICtrlCreateButton("", $aFullScreen[0] - 10, $aFullScreen[1] - 10, 1, 1), $aAccelKeys[1][2] = [["{ENTER}", $iKey_Exit]] GUISetAccelerators($aAccelKeys, $__g_hGUI_Bg) GUISetAccelerators($aAccelKeys, $__g_hGUI_MarkArea) #forceref $bMoved Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $iKey_Exit If $bAnim Then GUIRegisterMsg($WM_TIMER, "") DllCall("user32.dll", "bool", "KillTimer", "hwnd", $__g_hGUI_MarkArea, "uint_ptr", $iID) GUIRegisterMsg($WM_ERASEBKGND, "") EndIf _GDIPlus_Shutdown() Local $aResult = WinGetPos($__g_hGUI_MarkArea) $aResult[2] = WinGetClientSize($__g_hGUI_MarkArea)[0] $aResult[3] = WinGetClientSize($__g_hGUI_MarkArea)[1] GUIDelete($__g_hGUI_MarkArea) GUIDelete($__g_hGUI_Bg) If Not $__g_bSelectionDone Then $aResult = 0 Return $aResult EndSwitch $aMPos = MouseGetPos() If ($aMPos[0] <> $aPrevMPos[0] Or $aMPos[1] <> $aPrevMPos[1]) And (Not $__g_bSelectionDone) Then WinMove($__g_hGUI_MarkArea, "", $aMPos[0], $aMPos[1]) $aPrevMPos = $aMPos EndIf $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) If $aCI[2] And (Not $__g_bSelectionDone) Then $aGUIStartPos = WinGetPos($__g_hGUI_MarkArea) If $bAnim Then GUIRegisterMsg($WM_ERASEBKGND, "WM_ERASEBKGND") GUIRegisterMsg($WM_TIMER, "PlayBorderAnim") $iID = DllCall("User32.dll", "uint_ptr", "SetTimer", "hwnd", $__g_hGUI_MarkArea, "uint_ptr", 1, "uint", 50, "ptr", 0)[0] EndIf While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) $aMPos = MouseGetPos() $__g_iW = Abs($aMPos[0] - $aGUIStartPos[0]) + 1 $__g_iH = Abs($aMPos[1] - $aGUIStartPos[1]) + 1 If $aMPos[0] < $aGUIStartPos[0] Then $iX = $aMPos[0] Else $iX = $aGUIStartPos[0] EndIf If $aMPos[1] < $aGUIStartPos[1] Then $iY = $aMPos[1] Else $iY = $aGUIStartPos[1] EndIf WinMove($__g_hGUI_MarkArea, "", $iX, $iY, $__g_iW, $__g_iH) UpdateCtrlPos($bAnim) WEnd $__g_bSelectionDone = True GUISetCursor(3, 1, $__g_hGUI_MarkArea) ElseIf $aCI[3] And $__g_bSelectionDone Then $aGUIStartPos = WinGetPos($__g_hGUI_MarkArea) If _WinAPI_PtInRectEx(MouseGetPos(0), MouseGetPos(1), $aGUIStartPos[0], $aGUIStartPos[1], $aGUIStartPos[0] + $aGUIStartPos[2], $aGUIStartPos[1] + $aGUIStartPos[3]) Then $aMPos = MouseGetPos() $aGUIStartPos = WinGetPos($__g_hGUI_MarkArea) While $aCI[3] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aGUIStartPos[0] - ($aMPos[0] - MouseGetPos(0)), $aGUIStartPos[1] - ($aMPos[1] - MouseGetPos(1)), $__g_iW, $__g_iH) GUISetCursor(0, 1, $__g_hGUI_Bg) GUISetCursor(0, 1, $__g_hGUI_MarkArea) WEnd GUISetCursor(3, 1, $__g_hGUI_Bg) GUISetCursor(3, 1, $__g_hGUI_MarkArea) EndIf EndIf If $__g_bSelectionDone Then $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) If @error Then ContinueLoop Switch $aCI[4] Case $__g_iLabel_TL GUISetCursor(12, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", MouseGetPos(0), MouseGetPos(1), $aOldWinPos[2] + ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3] + ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_BR GUISetCursor(12, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aOldWinPos[0], $aOldWinPos[1], $aOldWinPos[2] - ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3] - ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_TR GUISetCursor(10, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aOldWinPos[0], MouseGetPos(1), $aOldWinPos[2] - ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3] + ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_BL GUISetCursor(10, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", MouseGetPos(0), $aOldWinPos[1], $aOldWinPos[2] + ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3] - ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_LM GUISetCursor(13, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", MouseGetPos(0), $aOldWinPos[1], $aOldWinPos[2] + ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3]) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_RM GUISetCursor(13, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aOldWinPos[0], $aOldWinPos[1], $aOldWinPos[2] - ($aOldMPos[0] - MouseGetPos(0)), $aOldWinPos[3]) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_TM GUISetCursor(11, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aOldWinPos[0], MouseGetPos(1), $aOldWinPos[2], $aOldWinPos[3] + ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case $__g_iLabel_BM GUISetCursor(11, 1, $__g_hGUI_MarkArea) If $aCI[2] Then $aOldWinPos = WinGetPos($__g_hGUI_MarkArea) $aOldMPos = MouseGetPos() While $aCI[2] * Sleep(10) $aCI = GUIGetCursorInfo($__g_hGUI_MarkArea) WinMove($__g_hGUI_MarkArea, "", $aOldWinPos[0], $aOldWinPos[1], $aOldWinPos[2], $aOldWinPos[3] - ($aOldMPos[1] - MouseGetPos(1))) WEnd UpdateCtrlPos($bAnim) EndIf Case Else GUISetCursor(3, 1, $__g_hGUI_MarkArea) EndSwitch EndIf Until False EndFunc ;==>_GDIPlus_MarkScreenRegionAnimated Func UpdateCtrlPos($bAnim = True) Local Const $aGUIStartPos = WinGetPos($__g_hGUI_MarkArea) If $__g_bSelectionDone And $bAnim Then GUIRegisterMsg($WM_TIMER, "") $__g_iW = $aGUIStartPos[2] $__g_iH = $aGUIStartPos[3] ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_TL, 0, 0, $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_TM, ($__g_iW - $__g_iBorder) / 2, 0, $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_TR, ($__g_iW - $__g_iBorder - $__g_iBorder / 2), 0, $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_LM, 0, ($__g_iH - $__g_iBorder) / 2, $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_RM, ($__g_iW - $__g_iBorder - $__g_iBorder / 2), ($__g_iH - $__g_iBorder) / 2, $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_BL, 0, ($__g_iH - $__g_iBorder - $__g_iBorder / 2), $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_BM, ($__g_iW - $__g_iBorder) / 2, ($__g_iH - $__g_iBorder - $__g_iBorder / 2), $__g_iBorder, $__g_iBorder) ControlMove($__g_hGUI_MarkArea, "", $__g_iLabel_BR, ($__g_iW - $__g_iBorder - $__g_iBorder / 2), ($__g_iH - $__g_iBorder - $__g_iBorder / 2), $__g_iBorder, $__g_iBorder) If $__g_bSelectionDone And $bAnim Then GUIRegisterMsg($WM_TIMER, "PlayBorderAnim") EndFunc ;==>UpdateCtrlPos Func PlayBorderAnim() Local $aWinPos = WinGetClientSize($__g_hGUI_MarkArea), $iW = $aWinPos[0], $iH = $aWinPos[1] Local Static $fOffset = 0 Local Const $iSize = $__g_iBorder / 2 Local Const $hDC = _WinAPI_GetDC($__g_hGUI_MarkArea) Local Const $hHBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $iW, $iH) Local Const $hDC_backbuffer = _WinAPI_CreateCompatibleDC($hDC) Local Const $DC_obj = _WinAPI_SelectObject($hDC_backbuffer, $hHBitmap) Local Const $hCanvas = _GDIPlus_GraphicsCreateFromHDC($hDC_backbuffer) Local Const $hPen = _GDIPlus_PenCreate(0xFF0178D7, $iSize), $hPen2 = _GDIPlus_PenCreate(0xFFFFFFFF, $iSize), _ $hBrush = _GDIPlus_BrushCreateSolid(0xFF000000 + $__g_iColor_ResizeDots), $hPen3 = _GDIPlus_PenCreate(0xFF000000) _GDIPlus_PenSetDashStyle($hPen, $GDIP_DASHSTYLEDASHDOT) _GDIPlus_GraphicsClear($hCanvas, 0xFFABCDEF) ;for faster performance direct dll calls DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen2, "float", 1 + $iSize, "float", 1 + $iSize, "float", $iW - 2 * $iSize - 2, "float", $iH - 2 * $iSize - 2) DllCall($__g_hGDIPDll, "int", "GdipSetPenDashOffset", "handle", $hPen, "float", $fOffset) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen, "float", 1 + $iSize, "float", 1 + $iSize, "float", $iW - 2 * $iSize - 2, "float", $iH - 2 * $iSize - 2) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", 0, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", 0, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", ($iW - $__g_iBorder) / 2, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", ($iW - $__g_iBorder) / 2, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", ($iW - $__g_iBorder) - 2, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", ($iW - $__g_iBorder) - 2, "float", 0, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", 0, "float", ($iH - $__g_iBorder) / 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", 0, "float", ($iH - $__g_iBorder) / 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", ($iW - $__g_iBorder) - 2, "float", ($iH - $__g_iBorder) / 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", ($iW - $__g_iBorder) - 2, "float", ($iH - $__g_iBorder) / 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", 0, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", 0, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", ($iW - $__g_iBorder) / 2, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", ($iW - $__g_iBorder) / 2, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipFillRectangle", "handle", $hCanvas, "handle", $hBrush, "float", ($iW - $__g_iBorder) - 2, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) DllCall($__g_hGDIPDll, "int", "GdipDrawRectangle", "handle", $hCanvas, "handle", $hPen3, "float", ($iW - $__g_iBorder) - 2, "float", ($iH - $__g_iBorder) - 2, "float", $__g_iBorder + 1, "float", $__g_iBorder + 1) _WinAPI_BitBlt($hDC, 0, 0, $iW, $iH, $hDC_backbuffer, 0, 0, $SRCCOPY) $fOffset += 0.5 _GDIPlus_GraphicsDispose($hCanvas) _WinAPI_SelectObject($hDC_backbuffer, $DC_obj) _WinAPI_DeleteDC($hDC_backbuffer) _WinAPI_DeleteObject($hHBitmap) _WinAPI_ReleaseDC($__g_hGUI_MarkArea, $hDC) _GDIPlus_PenDispose($hPen) _GDIPlus_PenDispose($hPen2) _GDIPlus_PenDispose($hPen3) _GDIPlus_BrushDispose($hBrush) EndFunc ;==>PlayBorderAnim Func WM_ERASEBKGND($hWnd, $iMsgm, $wParam, $lParam) ;suppress repainting to avoid flickering but causes some other side effects #forceref $iMsgm, $wParam, $lParam, $hWnd Local Const $hBrush = _WinAPI_CreateSolidBrush(0xEFCDAB) ;BGR format ;~ _WinAPI_RedrawWindow($__g_hGUI_MarkArea, 0, 0, BitOR($RDW_NOERASE, $RDW_NOCHILDREN, $RDW_NOFRAME, $RDW_VALIDATE)) _WinAPI_SetClassLongEx($__g_hGUI_MarkArea, $GCL_HBRBACKGROUND, $hBrush) _WinAPI_DeleteObject($hBrush) Return 0 EndFunc ;==>WM_ERASEBKGND  
      Just press the lmb and move your mouse. When lmb is released you can adjust the size of the window by dragging the white rectangle to any direction. Rmb will move the marked area.
      Press ESC to get the coordinates of the marked region.
      If you have any improvements, please post it here.
       
      Tested on Win10 x64 only.
       
    • badcoder123
      By badcoder123
      Hey, All!
       
      I was looking into the help file at all the drawing utilities and I was wondering if you draw a translucent line that follows your cursor. Upon looking for ideas I came across this thread (1.0) and saw UEZ's response. I also came across another post that UEZ replied to and found this reply (1.1) where he shows how you can draw on the desktop. This is what I'm looking for however I'd still like to be able to interact with a designated application and have the line/curve/vector passively follow it. Obviously we don't move our cursor very linearly so it would have to be able to draw on vectors. Am I over complicating this? 
      Any ideas or starting points I should look more into? 
       
       
       
      1.0
      #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global Const $aFullScreen = WinGetPos(WinGetHandle("[TITLE:Program Manager;CLASS:Progman]")) Global $iHeight = 4 Global Const $hGUI = GUICreate("Screen Ruler Underline for free :-)", $aFullScreen[2], $iHeight, $aFullScreen[0], MouseGetPos(1), $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_TRANSPARENT)) GUISetBkColor(0x000000) WinSetTrans($hGUI, "", 0xA0) GUISetState() HotKeySet("{ESC}", "_Exit") Do WinMove($hGUI, "", $aFullScreen[0], MouseGetPos(1)) Until Not Sleep(50) Func _Exit() GUIDelete() Exit EndFunc _____________
      1.1
      #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPI.au3> AutoItSetOption("GUIOnEventMode", 1) Global $hGUI, $hDC, $hPen, $obj_orig $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP) WinSetTrans($hGUI, "", 1) GUISetState() _line() Func _line() $hDC = _WinAPI_GetWindowDC(0) ; DC of entire screen (desktop) $hPen = _WinAPI_CreatePen($PS_SOLID, 2, 0x00ff) $obj_orig = _WinAPI_SelectObject($hDC, $hPen) GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "Draw", $hGUI) GUISetOnEvent(-3, "_Exit") Do Until Not Sleep(1000) EndFunc ;==>_line Func Draw() Local $aMC, $mxo, $myo $aMC = GUIGetCursorInfo($hGUI) Do GUISetCursor(0, 1, 0) $mxo = $aMC[0] $myo = $aMC[1] $aMC = GUIGetCursorInfo($hGUI) If $mxo <> $aMC[0] Or $myo <> $aMC[1] Then _WinAPI_DrawLine($hDC, $aMC[0], $aMC[1], $mxo, $myo) _WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE) $mxo = $aMC[0] $myo = $aMC[1] EndIf Sleep(10) Until Not $aMC[2] EndFunc Func _Exit() _WinAPI_SelectObject($hDC, $obj_orig) _WinAPI_DeleteObject($hPen) _WinAPI_ReleaseDC(0, $hDC) Exit EndFunc  
    • Pricehacker
      By Pricehacker
      Hello,
      I am making a program where the button is an image that "changes" when specific conditions are fullfilled. Problem is that these images have different dimensions and when a smaller picture is displayed over a bigger one both will be seen, therefore i would like the images to be hidden, invincible or, alternatively, deleted.
      I have tried using _GDIPlus_GraphicsClear() with no luck
      However that might just be me not using it right as im quite new to autoit
      Here is the code if you want to test run it:
      Thanks to everyone helping!
×