timmy2

Trying to display text with a transparent BG atop a Veeblefetzer

4 posts in this topic

#1 ·  Posted (edited)

The following demo script, drawn largely from examples by @UEZ, lets me display colored text over a transparent background using my choice of font, type size, etc.  It is a single function (out of many) in the project I'm scripting, but it is crucial to my goal of displaying messages in an interesting way (IMHO).  

(For the purpose of this forum post it displays a single string variable; my actual project script reads a number of  possible messages from a text file into an array and then chooses the messages to be displayed based on stuff that happens in the course of someone using my program.)

Note that I am seeking help only to overcome my inability to figure out how to display this text atop a PNG graphic, and make the result a draggable object.

 

#cs
Display a message one character at a time
with the goal of adding a PNG graphic overlay

#ce

;~ #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6


#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>

Global $sMessage
Global $iString = 0
Global $aInfo
Global Const $SC_DRAGMOVE = 0xF012

HotKeySet("{Esc}","Close")

; in my actual script I read in a file containing all the text to be displayed

Global $sText = _
"Lorem ipsum dolor sit amet, consectetur" & @CRLF & _
"elit, sed do eiusmod tempor incididunt ut" & @CRLF & _
@CRLF & _
"Et dolore magna aliqua. Ut enim ad minim," & @CRLF & _
"quis nostrud exercitation ullamco laboris nisi" & @CRLF & _
"aliquip ex ea commodo consequat." & @CRLF & _
@CRLF & _
"Duis aute irure dolor in reprehenderit in" & @CRLF & _
"voluptate velit esse cillum dolore eu fugiat" & @CRLF & _
"nulla pariatur." & @CRLF


; Create GUI

Global $hGUI = GUICreate("", 450, 340, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))

GUISetBkColor(0xFF000000) ; will change background color, which UEZ doesn't use in his example, but then he doesn't want a BG

GUISetState(@SW_SHOW)

; Draw a string
_GDIPlus_Startup()
Global $hBrush = _GDIPlus_BrushCreateSolid(0xFF99ff33)
Global $hFormat = _GDIPlus_StringFormatCreate()
Global $hFamily = _GDIPlus_FontFamilyCreate("VT323")
Global $hFont = _GDIPlus_FontCreate($hFamily, 14, 0)
Global $tLayout = _GDIPlus_RectFCreate(20, 20, 0, 0)
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global $hBitmap = _GDIPlus_BitmapCreateFromScan0(420, 300)
Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

  _GDIPlus_GraphicsSetTextRenderingHint($hBuffer, 4)
  _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 4)

GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")


For $iString = 1 to StringLen($sText)
    $sMessage = StringLeft($sText,$iString)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sMessage, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsClear($hBuffer, 0x000000)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, $sMessage, $hFont, $aInfo[0], $hFormat, $hBrush)
    $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_BitmapDisplayTransparentInGUI($hHBitmap, $hGUI)
    _WinAPI_DeleteObject($hHBitmap)
Next

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Close()

; Clean up resources (my best guess at what needs closing/shutting down)

Func Close()
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
EndFunc   ;==>Close

Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $bReleaseGDI = True)
    If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0)
    Local $tDim = DllStructCreate($tagBITMAP)
    If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0)
    Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION)
    Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap)
    $tSize.X = $tDim.bmWidth
    $tSize.Y = $tDim.bmHeight
    $tBlend.Alpha = $iOpacity
    $tBlend.Format = 1
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, DllStructGetPtr($tSize), $hMemDC, DllStructGetPtr($tSource), 0, DllStructGetPtr($tBlend), $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteDC($hMemDC)
    If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap)
    Return True
EndFunc

Func _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
    Switch $hWnd
        Case $hGUI
            _SendMessage($hWnd, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
    EndSwitch
EndFunc   ;==>_WM_LBUTTONDOWN

 

The above script lets me push the text out to the screen, but I want to display the text atop a PNG graphic, which is an imagined piece of hand-held test equipment that I'll refer to here as the Veeblefetzer.

Here's a half-size animated gif of the desired result.

aniGif of tester (half-size).gif

 

Note that initially I used a different script to stream the text out atop a built-in black background rectangle.  I figured I would place the Veeblefetzer graphic above the text -- with the center "display area" of the Veeblefetzer cut out (transparent).  

Then UEZ's example script came along. The benefit of using text that has a transparent BG, and placing it in a layer above the Veeblefetzer, is this lets me include reflections in the Veeblefetzer's display.

Now to the challenges I'm ill-equipped to figure out.  

The function I use to display the Veeblefetzer is below. It, too, is drawn from some of examples by @UEZ.

There are actually two functions below, one I use to display the PNG graphic, and one that can be used to fade the graphic in or out.  I include it here only because it might be applicable to my ancillary goal of needing to clear the text on the handheld display before streaming the next message onto the Veeblefetzer's display.  I realize that the fade in/out function is for graphic objects, so it may not be applicable to text. 

 

; Display the image at center unless otherwise specified. If Fader will not be used then $iAlpha's default of 0xFF is good.
; If Fader will be used then start with $iAlpha equal to zero.  Option to make this image "Always on top" is also available.
Func DisplayImage($sFile, $iPosX = -1, $iPosY = -1, $iAlpha = 0xFF, $bTopmost = True)
    Local Const $hBmp_Background = _GDIPlus_BitmapCreateFromFile($sFile) ;load the image
    If @error Then Return SetError(1, 0, 0) ;image cannot be loaded
    Local Const $iW = _GDIPlus_ImageGetWidth($hBmp_Background), $iH = _GDIPlus_ImageGetHeight($hBmp_Background) ;get the dimension of the background image
    Local Const $hGUI = GUICreate("", $iW, $iH, $iPosX, $iPosY, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST * $bTopmost, $WS_EX_TOOLWINDOW)) ;create GUI with appropriate styles and extented style (borderless transparent GUI)
    GUICtrlCreateLabel("", 0, 0, $iW, $iH, Default, $GUI_WS_EX_PARENTDRAG) ;create a hidden label for GUI dragging
    GUISetState(@SW_SHOW, $hGUI) ;show GUI

    Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) ;define an empty bitmap where all the gfx stuff will copied to
    Local Const $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap) ;get the context to the bitmap to be able to copy / draw to the bitmap
    _GDIPlus_GraphicsDrawImageRect($hGfx, $hBmp_Background, 0, 0, $iW, $iH) ;draw background image to the empty bitmap

    ;display GDI+ with transparency on desktop
    Local Const $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) ;convert GDI+ image to GDI to display it on the screen using GDI functions
    Local Const $hScrDC = _WinAPI_GetDC($hGUI) ;get the device context (dc) handle of the GUI
    Local Const $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC) ;create a compatible dc handle
    Local Const $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap) ;selects the GDI bitmap object into the specified device context
    Local Const $tSize = DllStructCreate($tagSIZE) ;create a $tagSIZE struct (x = width, y = height)
    DllStructSetData($tSize, "X", $iW) ;set data for width
    DllStructSetData($tSize, "Y", $iH) ;set data for height
    Local $tSource = DllStructCreate($tagPOINT) ;create a $tagPOINT struct (x = x position, y = y position)
    Local $tBlend = DllStructCreate($tagBLENDFUNCTION) ;create $tagBLENDFUNCTION struct -> see help file for more info
    DllStructSetData($tBlend, "Alpha", $iAlpha) ;set the alpha channel of the GUI -> 255 = opaque, 0 = transparent
    DllStructSetData($tBlend, "Format", 1) ;set the format to 1 -> bitmap has alpha channels
    DllCall("user32.dll", "bool", "UpdateLayeredWindow", "hwnd", $hGUI, "handle", $hScrDC, "ptr", 0, "struct*", $tSize, "handle", $hMemDC, "struct*", $tSource, "dword", 0, "struct*", $tBlend, "dword", $ULW_ALPHA) ;display bitmap on screen

    ;release resources otherwise memory will filled up (memory leak)
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    Local $aResource[7] = [$hGUI, _ ;GUI handle
                           $hScrDC, _ ;device context (dc) handle of the GUI (GDI)
                           $hHBitmap, _ ;GDI bitmap handle of the displayed image
                           $hMemDC, _ ;compatible dc handle from $hScrDC
                           $tBlend, _ ;tBlend struct (source blend oper., flags, alpha value, format) -> see help file for description
                           $tSize, _ ;tSize struct (width and height of the window / image)
                           $tSource] ;tSource struct for x / y position of the GUI
    Return $aResource ;returns the handles to release it later or to use it for fading effects
EndFunc   ;==>DisplayImage

; This function releases the resources of a specific image and closes it
Func ReleaseResources(ByRef $aResource)
    If Not IsArray($aResource) Then Return SetError(1, 0, 0)
    If UBound($aResource) <> 7 Then Return SetError(2, 0, 0)
    _WinAPI_ReleaseDC($aResource[0], $aResource[1])
    _WinAPI_DeleteDC($aResource[3])
    _WinAPI_DeleteObject($aResource[2])
    GUIDelete($aResource[0])
EndFunc   ;==>ReleaseResources

; To fade in an image leave $bIn at default (True); to fade out specify False.
; There are also options to set the ending transparency level (0 transparent, 255 opaque), speed and delay.
; If you change the speed or delay be sure to specify $bIn and $iTrans, otherwise you'll wonder why the fade-in or out isn't what you hoped for.
; The default values are specified in the function below.
Func _Fader($res1, $bIn = True, $iTrans = 255, $speed = 3, $delay = 10  )
    If Not IsArray($res1) Then Return SetError(1, 0, 0)
    If UBound($res1) <> 7 Then Return SetError(2, 0, 0)
    Switch $bIn
        Case True
            For $a = 0 To $iTrans Step $speed
                DllStructSetData($res1[4], "Alpha", $a)
                DllCall("user32.dll", "bool", "UpdateLayeredWindow", "hwnd", $res1[0], "handle", $res1[1], "ptr", 0, "struct*", $res1[5], "handle", $res1[3], "struct*", $res1[6], "dword", 0, "struct*", $res1[4], "dword", $ULW_ALPHA) ;display bitmap on screen
                Sleep($delay)
            Next
        Case Else
            For $a = $iTrans To 0 Step -$speed
                DllStructSetData($res1[4], "Alpha", $a)
                DllCall("user32.dll", "bool", "UpdateLayeredWindow", "hwnd", $res1[0], "handle", $res1[1], "ptr", 0, "struct*", $res1[5], "handle", $res1[3], "struct*", $res1[6], "dword", 0, "struct*", $res1[4], "dword", $ULW_ALPHA) ;display bitmap on screen
                Sleep($delay)
            Next
    EndSwitch
EndFunc   ;==>_FadeIn

 

Is anyone willing to step in and show me how to use the text display function along with the PNG display function, so that the resulting Veeblefetzer will be a single draggable object on screen?

I'm equally baffled about how to properly clear off one message before displaying the next.

The reason?   I have only the most rudimentary grasp of the commands within -- or the relationships between -- what seem like three distinct sections common to each of UEZ's scripts:

Initialization (which defines a number of attributes, some of which are obvious to me, for text in this case)

_GDIPlus_Startup()
Global $hBrush = _GDIPlus_BrushCreateSolid(0xFF99ff33)
Global $hFormat = _GDIPlus_StringFormatCreate()
Global $hFamily = _GDIPlus_FontFamilyCreate("VT323")
Global $hFont = _GDIPlus_FontCreate($hFamily, 14, 0)
Global $tLayout = _GDIPlus_RectFCreate(20, 20, 0, 0)
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global $hBitmap = _GDIPlus_BitmapCreateFromScan0(420, 300)
Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

  _GDIPlus_GraphicsSetTextRenderingHint($hBuffer, 4)
  _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 4)

 

Delivery... (apparently what's needed to display the text)

$aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sMessage, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsClear($hBuffer, 0x000000)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, $sMessage, $hFont, $aInfo[0], $hFormat, $hBrush)
    $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_BitmapDisplayTransparentInGUI($hHBitmap, $hGUI)
    _WinAPI_DeleteObject($hHBitmap)

Even at my primitive level of understanding I have figured out that you can reuse the above "delivery" section to display other strings before proceeding to the next section.

 

Cleanup... (apparently needed to release resources, which to me is like closing a previously opened file: it's part of the process so I'll do it):

_GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_Shutdown()

 

(You're getting an inside look at a monkey brain at work here!)

UEZ's script to display the PNG graphic follows a similar pattern. What I cannot figure out is how to merge the two scripts, while avoiding redundancy and conflicts. To clear the text between messages must I release any resources, and if so: which ones? AND, how do I group the PNG graphic with the text so the resulting "object" can be moved around on the screen?

 

 

Edited by timmy2
clarification

Share this post


Link to post
Share on other sites



After 29 views but no answer I wonder if and where I screwed up. I'm not writing a bot, nor am I asking for someone to write my script.

I started the "output to display" phase of my project with this post because I accidentally discovered that AutoHotKey appears to have a single, simple function for displaying text with user-specified font, size, color, transparency, etc.

I wondered if Autoit has a similar function.

I've already got a lot of interest and time invested in Autoit -- and an almost finished project script, so I wondered if we have anything as easy to use for displaying text and graphics (see my original post above for details).

My impression at this point is that we do not -- or at least I cannot find it. Instead we have numerous _WinAPI and _GDIPlus commands, which are probably infinitely powerful, but are not nearly as accessible to the occasional "programmer" as most of what Autoit has to offer.  (think of how much code _ArrayDisplay replaces!)

Am I wrong?  If I've chosen the wrong approach -- within the confines of Autoit -- to display text atop a graphic (per my goals) please tell me.

Share this post


Link to post
Share on other sites

Isn't it the same probem as already posted in:

 

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

Here something to play with

#cs
Display a message one character at a time
with the goal of adding a PNG graphic overlay

#ce

;~ #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6


#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>

Global $sMessage
Global $iString = 0
Global $aInfo

HotKeySet("{Esc}","Close")

; in my actual script I read in a file containing all the text to be displayed

Global $sText = _
"Lorem ipsum dolor sit amet, consectetur" & @CRLF & _
"elit, sed do eiusmod tempor incididunt ut" & @CRLF & _
@CRLF & _
"Et dolore magna aliqua. Ut enim ad minim," & @CRLF & _
"quis nostrud exercitation ullamco laboris nisi" & @CRLF & _
"aliquip ex ea commodo consequat." & @CRLF & _
@CRLF & _
"Duis aute irure dolor in reprehenderit in" & @CRLF & _
"voluptate velit esse cillum dolore eu fugiat" & @CRLF & _
"nulla pariatur." & @CRLF

;MsgBox (1,"test", $sText)

; Create GUI

Global $hGUI = GUICreate("", 800, 465, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST))
; UEZ's example uses the following instead:
; Global $hGUI = GUICreate("Parent", $iW, $iH, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST)

GUISetBkColor(0xFF000000) ; will change background color, which UEZ doesn't use in his example, but then he doesn't want a BG

GUISetState(@SW_SHOW)

; Draw a string
_GDIPlus_Startup()
Global $hBitmap_Bg = _GDIPlus_BitmapCreateFromMemory(_BG())
Global $hBrush = _GDIPlus_BrushCreateSolid(0xFF80F033)
Global $hFormat = _GDIPlus_StringFormatCreate()
Global $hFamily = _GDIPlus_FontFamilyCreate("ARIAL")
Global $hFont = _GDIPlus_FontCreate($hFamily, 12, 0)
Global $tLayout = _GDIPlus_RectFCreate(230, 100, 350, 245)
Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
Global $hBitmap = _GDIPlus_BitmapCreateFromScan0(800, 465) ; UEZ used ..CreateFromScan0 (?)
Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

; UEZ's Example used the following commands that are not in my script, and I cannot figure out which ones are
; applicable to my goal vs the goal of his example, which was to display a live digital clock

;  _GDIPlus_StringFormatSetAlign($hFormat, 0)
;  Global $hImage = _GDIPlus_BitmapCreateFromScan0($iW, $iH) ; must achieve something other than CreateFromHWND
  _GDIPlus_GraphicsSetTextRenderingHint($hBuffer, 4)
  _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 4)


For $iString = 1 to StringLen($sText)
    $sMessage = StringLeft($sText,$iString)
    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sMessage, $hFont, $tLayout, $hFormat)
;~     _GDIPlus_GraphicsClear($hBuffer, 0x000000)
    _GDIPlus_GraphicsDrawImageRect($hBuffer, $hBitmap_Bg, 0, 0, 800, 465)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, $sMessage, $hFont, $aInfo[0], $hFormat, $hBrush)
    $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_BitmapDisplayTransparentInGUI($hHBitmap, $hGUI)
    _WinAPI_DeleteObject($hHBitmap)
Next

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Close()

; Clean up resources (my best guess at what needs closing/shutting down)

Func Close()
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hBitmap)
    _GDIPlus_ImageDispose($hBitmap_Bg)
    _GDIPlus_Shutdown()
    Exit
EndFunc   ;==>Close

Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $bReleaseGDI = True)
    If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0)
    Local $tDim = DllStructCreate($tagBITMAP)
    If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0)
    Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION)
    Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap)
    $tSize.X = $tDim.bmWidth
    $tSize.Y = $tDim.bmHeight
    $tBlend.Alpha = $iOpacity
    $tBlend.Format = 1
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, DllStructGetPtr($tSize), $hMemDC, DllStructGetPtr($tSource), 0, DllStructGetPtr($tBlend), $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteDC($hMemDC)
    If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap)
    Return True
EndFunc

;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-09-19

Func _BG($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $BG
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= 'sLi64ePjcz75RMzw7xIvfqQfkWiHR9h63vm4V5ZlFtvfcFpLJfC07HvvW2SyLTmNOVtI+RbZI+xiZ7HwA1WD5NFXKBQW+iILfcXeotsdhxNJFF3eulb/cVkZD8j1s8wHyQBSscgD0tLCAbJdDh8dgYNuB4V5M5l08hBZoUlGL8tInlsUKyefAVKeT276Tz74hAdkNRzcxQogm3gnHT5I7TEekEOHjtz85bVbqKZCtrDZSXElhdgswG9zlhiDQCBWWCCvArLbcc5tRkpHOlGosZOiUiLMspCzLYYK98YtWx4p8GiexQLDg/nmeVVTHrn2nq9zuWY/3HTMBfWJTh06gZvWnUG2lrcbPF+455s+fJAKIN862Dc58urX/sPevUa1dV15ABdSoppahqRc85iJIuk6HvMQAoEdUBCPFAh+B4gsIOZpFKPiWBRqIMj4FRtsDMYGDCLYqHXi4DgmHmzHT0xiPNSrqSerGTd1V9OmaZKupGmbmU4zM6vzbf773CsJMHEmnd5oOqO9sMLKImtlmfNb5+zz2Puh4/GVEwa7ZkbgzFSjo2T48VuTRRaMQnxzzI0L9aEU2A3H93azZmDCrjG7J+xuDUUYfeQh/nQrL8+s4lQDiQU9uOp46egL3//7fX31nwtkM0oPLaRgZ+noMEXH6QsWL1xSXGctUsojIwHErIEPAqL0vA66s21sYPNWQsUEhIYFVlgAkha8/PVxBkRonSP6QBAQoWhDMII9uWUHhRQrsMTKryl8Did362nVnZmoNcTws87u8vLi4vJSBihu3XIP2Afct4BC+M49gGrS9ihkoPwU6pSgSnSU5VZemOYWfhLjTwyzxa49vhG1DbbYOgGEbvS2Xtv0T/d8GxXn7jaDhJqLDm5H6nu+/bVHCMiqzqbhZX/7zBlW2/ROUCoCwsXtzptSQIpS9iVDh6lOW251tuMSAG46VjEgFFcIyPQXhTGbN1JpXuotdQ+AILDIWrh44bwtADKglIcDiJlSdNy1rvUC+UojEKjOCyCUgwAI5SBhXiCeDSwGRIDyvXQvEDEHqReEmBbl16x/rqq1E3eXmhwZKQbeMvXlRxZGZiT+M7lCidW/7I5w8/zE5o33LwOQkVUY6gDSaaOydAdytBPuuLsBuTGMTautFQzII/ta24c3Ldv4u4Ro9ZzDX47gNMeWTyG7gI8vG1hlRRv1rjYnHtdfOto6bqr5fCC47k40Fi8GjSV4UIhJ5MHF8zCDZA7g76JbFSEA0YTWRioIyFe+sRoAAiGxYcsZkFoCEjodCLvuHkI6BCAPpceIlxWFGWQ/gLBAY6kV2MfsdDqdTY0F8dEqziL70qFSBslVGkhQKNTquQh1d/NJ7z+Fgz1b61oGZN+VuuGzW/c2nEm6S/2fsFB70YbzZ7H9VSHkIGvX73jz8uXtFxOilfK7idW43XbZl488iwqnQJP5bU3X3j5X0ek0OT05yNxAEAzIMjjBJII/S55tBBAlzwMIJtC8OFw1EYAEDgK/YvsAIufYQaGGFXhPCwrdT0D+hoBQfMO3ysLHM5hBEGIOUv3AfpMPCKWinV3OurqWrGiOU8kkCMBJen/LpoeHB8cYkG+uHXPuxaXBhjMJBvddchB7VsN5FGncWlHlAXIeQHIpoZJJEJr5aXLOnr3L1YS7lrjM6xxpvSIAWeEDgogiICwBgQvMIywWP0hAena5Cch84RiEgHABIH7SKAKhbd4InUIEgsuKIhAEfQhdpgQgwWniZcXpQKg27/g4XoSUFFmUinCZdEBw0DzYKgLpJyBnt59JsGvuNoNkjQ6f/ZUIhLL09vO433UQ2oNkksROam6XUuBwtnc5TfU/BxAKACnLLJ8BBBdXqGaD8CIEXwsEIMVtK90KJY8HhWYA0SxnQCgjCqTQfvDLxdI5CHXR0cUKQL71I0o8SIUHiVCbl8r+BKeJG/JRxur8kwwIHRTmA0hXTY1JhpMFLNskGnfhDMiyYbbEQqwdGxo+e/byhpwE'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= 'm8KtxR4HKqcb+G6MPRW2vThOHWOIz3C0OXEjfkcF+XgO8f1Xqtav7zhnKz2EaCg5sw4VrJWczizBA/pu1cBhV2mjywdEyEG8SToDgrRjAdvKYkCWeYBwAhAznaTH0V2swE0s/ybpy8M8QBS7RSBimg4Z7Os+BiRG/jlAxk1lLlznPSLJhhCnVHIxxvh1eCzlOFRcartW8cYLGPBoq/vcc69Vre+owMMQ55D1cJbxSLeCU/2nTGbWqdRHJop8QOjnX3wRRKpeW1+xowmeHA68CyEgkvgAkHDDYVddHYBcEXzgONU0SrtYviXW/ZR2QMgy/JPdyMID9XmnACQ8KFwVQZVHGZDY2v8tQAJAghSPrmBA4APhu3HiAwIhIpAxH5ARU1ubK7NSLZfiTMGs47gjSYnlJQDiKC21nb7+hnfA7xOBdDldBXqtQY2bZaghh3K2lonKdRlW1xCO0HHL5I2jL1RRoLhI6452nC4eariJ08Wc5Eo+MlaCh+mTE1OWlAJXU53JO4PsW9VXMwcQhLDXSx8MyFUGRIccXYcn6SIQhV+BBHIQ+BCABE0HwmYPhAjEd9VkNpA120xtdW1Wvd1ikWJDSBPJG5oTyy/caBh1FBfbmnZgwB+tEgJrrOunT3c526wF+qKBaJ0GPijcKVm4lWLtoRwER4odR1l0kKYmWzGykJKCjIycdUUDf5mD8yceoFi0aL8Q+btWVq9EI8+2mUDEJZYvB8HGLgOyjIQINbIIiMIDJEwAAh9+zkECMwgVr54FJCTkvhBPChJyB5BqAiIGgAzhfd+ildVo7fk6miHsZyNl0RNs4PwFiLhT8rL1uRfwIL24uLSuCT3IMeJZdMCHbbCuzpGZoZ/MvpV3zHuUnZK4rrygpaenra7pWvuOioqOSx2Xzp0DD/go7m3JKMc+VnzKsb8Aj7jdr0KIbNEulM9DI4iykyfra1bU1HS1UxPPcU8O8uu+FTd/Q0B8lxUXL2aleRcKL29B5aUl92za68gWgZjDCAg9mPIjkECndBFIrAdIJ8tBEJ75IwRSZgJhPQrr+wUgj/yAAWlq70Q/JWpbaIIQjJT8RQDyanV1tf5/PqvsfjQuL6scO1gHkKQ31mFfikY8zQc7uppwA7G3paQ8sWgyO3u3b2Fmt1fiGESWaW1pbGwbcmK4nrt2zVbncow2HCjJKE9M1moT7Lfi/uxpbQqVVsM5PtqiC13+6O5XAWXXLmu+q9FVth9Axsc7Ec76ei+QP/xHfebv6BzEB+QeHJ4TEHpRyIggS796wioAYUk6nYPoVJwfcQSERNJETkDYEuuYCARvQEK8GYgA5JnZQPYxH4/8gJZYJieGbGcXjNS3uVyuxharddcuWfXu7Kyi5qmIWjoND4+M/XOBHIsLtdub49fRRu+BFgey3yYk3zvanUPIfZBuZyTGa40TE82Tk14gkZE8HxOl5o2JieWHq3dZUeihsRQzR4GeaBiNCU9GRz2uUv3Z/0s6nt75cRyv4qeo+giAZB2uPnzhQkvBrl35PUMAef0zNNAZaaUEpOq5qj/8a/3N30wDkrxRyEE87dcW4s3tf7F37kFRnln+j/TmbYk9XLRFOqkemy62bAjdzSWGNlxnFNEKSrSaRlpCyKihQQSVQEObKOOk1RQXBREMRCQRiMUQlVijYQ2JiWzhhoxbJibuBoOujhPFyrprbe0/m5n6fc/zvP3SjU79qrqnqv2jT5VYU9OCpp5Pndv3nENVrA8s2QQI3+2OPkioXwEJmKDgHmQBPEgZ9yAhHBDyIZLNBMS0YeWhT1e/AD5eYDlI54kvTp8+ceJwi8WSkVFQcOZMeltbURKGwm2GrsiyCAHqD0Gp8FbTEYoF50od1LkYCEkaKkIHbtwCDCug412TXhSnp9eOTnuMfRoQmYzLsXTWBHty8tLMtjVr0CBcRqrGGBgEWeyiotdVBSaQAiIosUViy1tkWZnZNmKzjSRq9Pfunf1qOxT5V79wlGBvHAHyDgD5'
    $BG &= '35UeOQgmCkEH8BCP3LJG4WyUeS3JsllKRSRE1izCQkkOVPnTAoDwrSZSks4BASHuiIR4AKI2wYN8SnjwHKQTAxpXru7YvR0daojJE8mKR0YgeFI2N5Ncm5ki9XfeAVLGnqMSwsOYcqspMS0pLz5uDbGRh3HCROCRm8vkJVr3NShoNoCZGKvV2N6enA+dfHpWL40SMkBUuUqBTO1tf5/CHrZyHSZARgxItGr6nqrb98fGajcN75iavHnaUdJ46sV3XkW9DTmIJFb0BIR8CAHC+oQMECElWDEnNjSUPMjCVNo8GgDAbyZTRImAREVxQFw5iESIJDXRTSfp8CAsxBIB2Xhr8u7kVM7iTRj5jolRq5mSliSzpBrkeFCTO/U9LwGhtR5MX6WDAJEIGUpPR502L02TaDSZylUABOY+sBXEiIFYMdGYnIyS1poMy3jd/l4IsTQmk7WcvhGw9XrxT7cCdDDjjkpLgnyVEqa6NNZTGj4MNeX3313f42g8BTwIkLXog3gCgrXuYAOAbAUh1FMnZ7L8SwYIjemEYiQ9GzduFf4EJAAIqXkfBoRtapB6IX8LEIRYMABSc5PU5DnvL9/Um2Q0IeChB6M1a9UCni43GQHyrJeAKAUCBHxYrcyDLMsqqKuoyDg7lKSBGa0qFWfQAxA8W8Ckh8F9WCqQGbWeWYbalcZowrcpJ0By/w6AyJrZz4EnM5KzsifVlr4+fAv6eogpdzkBSJ8LkEeEWHxOigD5R47Loi8zkusxD0JKEwBCFwr9C0gAECTpIiAKT0C4cTo8AKGRWw4IjAGyC0t1voeafPjIzqy8ISydKs63Y4Z8xGBV5YqIkLA8dYX3gJD+8NIlkzGxGP4jq6m6wwl9SXo85gPx4pGOExGCJyDNzV1ICfL18aj3YrciLfJNz0siQEwmBgj+bl6W1SRAhIjmUUPiD2moHywrKkpPx0jwb9hEMOTD//7tLkfjG/sYIPsIkCEPQI4THVTHIkJEQGYv+tKSnQJAkKSzIpafAQlYfeQjARGFJvAibiFWjDB9/sATkIZ3f4S29vrp8x8cqBgsaCqApRcNDSXpNQO3VapcCZBnfQBEpboEQIiPvCIoFis7O1vqCuIyAUiaxqRVsyTHAxAZAQIBMPM3KA5j0VxdG4DSGBNMiSYwBeq8BGSpBAiGGG32vGXpa+qqYbTk9DBtiCC1GLSRDQCEh1hoFC7JGPKsYs1nJt4o5Hem5h//MoMDwnIQNg7iV0ACWxvgQWBoFEYpeIiFgam5ZCEwqR0iAcIXY+VaPQHpX//hhx8eQ98OfYnKwup1hXgr6yCYzSpKSjPpxF03PgKCgpTJhNw/aQsBUg1AaHN1XGamPgm6dTURqPhaAoTFPl0jGNElFXBGhbMGqsYO9NsRcdnt2I0Vg/gP5oMHIUIElSK0Oz6rwNLhrKnBeuwaph2mRj/EYhdf7J9wB8SjUQhA+CA6N04KqlgESApX886j63gL/J2kB654wpezTqFUxZIAERWLnoA8yoO8+ad3TkIcRdKPtyHmwFPZg65cYXVdwbI8u4Get++AsIwbIVPSsqL0utZKevDV1RlEiIYAEWZ4kFkECEq8mXm9vVkZHc49p8/XdCJtydPr8+2os5lUah+qWN1KPgGOg/+hyXFIiDoc1K5H5/IVXC+B9fVdvHgR8pISJOl9HJCZOchiBFXuRinJ7OW7M9pTgilJZ1n6Cn8DErh/wBZj8XkQyYMgqGIjt26C95md9BmArFp98YXVffvwMqD+OI2nchp96xo6ThDfjh24Mg5IlC+ACDokIBoAkgdAqiF6x86fCu5CErsAiACf4QkIkOKAnB3H+z192tFS0Zo1pAchxcVG7kG87oNomUBK0JpjbflFBYN1FSB2Dzr8+Le/sX49GIGaEirOlc+dQg7S97c8CPccUqoe/szszYV12RwQmrh91t8eJGDsQAiMD0yxRqG0m3dmo3Bmkn5xGpBTqPnu+xTqcyYIhIGPExB2ECBR'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= 'F0mz3fcGpB1ka4AiSAZaaMFixWXhQRRDpHmFyIIAj95bNQ2YGAEhFFpeuxa+mKNbEUI0DS4EAZZVe5ByWfsyyLIVUVycVhcGxKVp1RPMh7bwnQvXR51ca5Rl8WHtmwI1IoLgdo4gnWew+gohRBwBLu0oG5CkBYjwIH43+TgAMjPOWSwsVeTxFYxIDXQLlDAgL65+8MZRHQAwILxzqpkSj+YoS9kHPmxRnZ9oVPjz2oOaRoQQH5E7V7975cfjTuKjsqmpEl+JD6d5/hqPtKZGP56kNC+r/9x6F0WQWVJ3fGdAbB1KwqVbgPjIpCsAREcEGW8QxxPWYCIEwgjrQzQBSMNUXR02Pt5ePduMh6Mi3QxEtIC5rpfqYFa7FGUfFr/bfNCRhBD5j4CH3LCDA8jJ+LcvvzburGQBEAh5LOfNm0wIWMFrXACiCED+vA4A4nHmY1dAbEAGkpkx/AsvtBAg642q8CBnlmkepKahAotNeswsFjVvwao3YcFi+m9vrobveMwSyho5daTmLUI0Q3miqSxbVJRddVSLSVnBBwARBiS1sLh4/S3s9pxiPpqmmBAAIuw5wgk07lvmCOLARKEFyFg38TFGgLwsPVS2TrUIQDIMyA2Y9NKlJiCkp4dGViAE8yA1aHP1hoaK9D/Tq9eSL7iZEFWn2RAPu5A2Hh5PGIaqPqQU0C7YlMWTXPadZf00+UsAQ5QMijhUHf7DGl8hSmsghAdY2qnZDey1rURgnwIbTXg+BMgBUe7nALchM83riJQCwoqPAZCdCbEBIYVbTp1+H+eGCkDYg8BowJPDhkA1XPlHCCGkqgIHeqJg/g8HZe7zKkq9w4jwhLr5AOn5GbAisqkdMNiVFPmL12R6QXviBskPkLkHjzLEX6xPe9PNl54wjZHSBW1IOrH30I2JahrFCpfHEyCQ4ONO98aVP/iclXUCENrWRkw8y3I6TUB4R2GrKhNysruPAAnvDYitQyWA/Pb9SazmFYDcmBnH6UA9FVUghEr/WIIvqWtoQgw50vvO259cYxvCwyz2IZzK4owvVuEEPC6dsya7F6h9rCBDPEJlfKuS7s96kA/W9n3Qkwkqj/0rK4p4o4W3ikqZWQc8HiI0L+nBOy9QnJiYcCC8zN3pvnr5dd9fAAjzwYDguAMhsiD3AZnsPNdontHa0clTYI8EiO1BwuFMZo0iyMeT5p50nQDBhpAeWuDOpx8wHc+ZgDTgIk60St/+5PqhZvOhGi4X78CFyK0DEcQRjwZA9PuARNCQSYoQN6xPVs/YrWuWB4hsSTStC9sRqUQld3CrXFmYlcCHbg8nEZFZCiT+errK/2vdyVSohqFS4DBgNCCqE14bpdCM8CHih0vTET+M+fjm5TfG4TUqx6cqmyDi4yvbfFAIEet7Z44DEPHDLEDijwSIDchaOJNsefk0zaS7GRB16PgydoQdqWNAqqqeI1XQq4cBQUgBICDkg/OHAiYgYndIIMCEQGKkNUGP0oAUB2QouE83uAtAuDoHgMRnh0PF2x7bEq0evWOcKcGr5NaSqw+Ehy8CQW+7EmIxVPoJkh+kuHRk+R/2zi8mjusK4ySwa2+YmoIXzy5/bIZNhJkaY4Mdg3axE3nBtVWJRS5YsrIUidguY7vCdZWgTYQGEycqprWsWjZylaSOUIC1hJqIqKpCZSXtk9talfLaPOShUqVafehb3/p959zJdHGg6vt+sGfmzg4wu9zfPefce/eOvjh/l08L8UXLq4/HYaCoH61USTpuJeI0CeBg25gUC0lwxTL5sHbtAk/+7JU3P1/CUg1wHRPbtjU0EJC6EBCd7c6e3qmvLvf1oAtG3uBkjwKi63VsDUg5xOpdWent7U01Vdy8maUHYX1JFi/fvHlucuIqMj/eNwdwQLtfgAcBIQTkMDwI1nJ5e37mjowtsupLqu7aNcoIDL1IBodcVxpCLwFZDi1qRTU2HgCyLJR3gY+4RGRR42P4QHsbhQ0VNLBKWJo2Jl9+pa98'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= 'QOCuEL9qAAiqBAnWT0xn/UE5s5aLJ2ixXBzPyiomdwU0eEv7L1dr+g4DEheW3qkROt2Td/qUvzzFcTMcVnxXmpoupeogiY0EA0KeW9SyWNwKARsWIwHCGQXt9CYpQvVi2J7G6fnhd15+ubO5oqPSHXQVZ27YsBzQ6c1MiBjrNC9DAhCyZ1ox2cgUmZ+caS0s4bqoLxiC93cd6Dt4pOPawsKthYWVxcVF4ME6N4hoQt/cv39/ZZoJKXO73YfcfhAiB1BywvpBjQ99PL3gEEEH1lWFNP65hgcDQm1M1C8i0Z0zORmyPNfbXdQJPIiPY+9Cl+GyZh9N1NyuC2U88FlJNq3Ngb1KCO/M/PycmQONEco+1hMficnvF6Zn1pIcKShfu5xO5oMB4RjyLPhYUz6HltyZ9CDWdHid2cvL4XC0qukvTTUmnc8nSdpN8YgLrmbxXrgtA8aJqL2SjNxBq5cUR9rGzI/lqX0VWG24bt0L7Vjq5Hdl4UTf2uWIj0IHxQciRHTN0B5hOihgsINjQjRA4jJrgLDlMSUNIXzMeRv62o+0LkCIH4v3PyI4zpPeOcGsfASBECzHrywjoezrcYUiQ0lks1Q+Ej4jZoCh11IEkk2LILdhxMgJoocOQHbuRObvPfnrbdu3dxYVbSvYVnS16HJzMwC5daHpdE1qT7EigQQNQgYkgfMtel6RXQkqR6hyBZfFTXX01M9eT09x3Lt3M0z1q+s9TogAiEWOfGoKzqwB8EyUSzHEXXbKG1LCDpSyvE1NE6kmJOoEBEIIeNAA4RKvIAQCIUYGRHNO9XflXcc3ptVmut5q//GOTd3d7QcO+JmPzF27wopEJBm4Ga6OGRKZKEZGy0EoC+GgtFoWPERtOj6W7ihyaM5dRpXd1orplT+vrKj26sSJEzSZF+weHl5cvA8tLs5PT86OVZZV3gAg/XsPeEIIioHqKibEJN6CioCWi3DFwKxN8CohRAoHENDLgAQe7nw9rIT87UeOFWx/eXtBUScwuXq1iACZvbW0dOF0XrWsSGaryph4bkh7XhsDKB69zcUrgIJvsGgrtWr8+ZLa2puYa5yu6yhglZeviwGi6Vn1AtcA2Zq7Nd1/6tIlL1V7HdnV+5uaTqfqGAoIIYS1ChBmRABiVLNuPl+kPiTvfOlHX9/wfPHmo5u3HBwcbG0IBoaUlN+8jVWouzBYEukXRfItZFObDoIzUUMmQsysJwABP6AQQ8psQOM8FPS697W/6ulvBCAri/cXz0Fovfzqtdc2YRnvpvZPP/33p4Bnen5+ZWUBqfqNSrd3qqG9b/T96kBACVXX0cXT9Sog8TQjgdNwEUCIEUEymy6r6DBqt9MM2V8vWY4Geo+8uw1obO8kPgquFpU2o9aL1ZOTty7kVSv0ma3a87O0NF2rT6jebYT9FXZIUm5/r60ny0H2ivhwjSNBV/nIfybWak1vfJaQV3JdWKzonirOdDjCSjVOoKrRo9oPOFhJqgx4SBUDwhM+JRUQAWIIZKf85Gtf+UFJyq4sV1/38PDgbNtQ5PHzG9/GJTwyFQM7e/DBOesq6TUPxRaLY5NIbDhHZzGCOq5+GcGHM9jfAEB2eHrKZudhr5CBdHUfwcoWnLl0/MPjH354fNc///OvPYWv7uuYXplemMQK4ErvnP/kwZOjo3O47ZYgxCIAicEqMhH9qnYLdzJt4EN92yog5D0DWa9vvKf4ft+9raCgk/HY9vMXXsM5LRWtY2dwFgwBMq4MGdmlMWYqiXoGQxxxp5C6LyPQi9iut31ifXH/HFq3UGYW8ZGRYacAguAB/Ze9s41pK83ueCYktjfCdEB2NCS15UFB2Fps89IEVyt7qLBnq2mjWbqwEI+HUAcY3MGEYgLOyzCNxxsrTbxOmExCw6SmiTcgk0ZDZgk7UzLKJKtxu8vSZElFPoDUtIqENCMi0Urbj/2f8zw2jhu1q36Y5IOPlOvLvQHs6P7yPOec/zknD8BzWkOqYl6P5wx5CwvL'
    $BG &= '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'
    $BG &= 'xZdalgpe4qMqD8CLs4aYp6OtHZ6v/KglX453Ru5NTJIcC1QQICXKgFLkRkhyIgFhd1YPH5qM57sYuptoxsLmsdoYWuMM++ILOgCi0zUN+XexvASmksaAyMS6ko2lWIQJfkNavsIUYQHBbSwgKzXVhlpn7GarZwILyL3eKnbNN+da1pWCzZlFhL6LEurDncGUfWXFH+yTwSt1FiDC72FAGFG5y+JIgUSYAfHNo3viawNH7xwjQN7jLnncouj69dvEx+X72uDXcNK/IQyy49rlTKBKAHIfDghsSmhM9OW7i4PxZdJg1TSTwv35ApIn5IMcQmgJ8SYWnyQXloPhjo6wLyN05yxECQ9ZZT5wneoBKQzKgEhCxrlhIzZZJr+r9+2zvU67G1/rdAqNLRVIC8v1mSeEAZGpeBAg9e7EH/PBkhTmhG5TiwTMOakeAiFR75lRZKv7zRqxuyIO/lfjRaTaOXLmEHz0zt8G8ZNq7HGflmqVMt12aGQ8OUaEhECT2SDjXR7jwQaCd80f+OEbjs531xiQD0HI1X/45PPPj506cRuAzECLtSO4uuqTgGQRQnzIEgGV1LpTrS+3bdjd2RVfJkBstSiRaquqbMsD8Hzs2eGQ6ajX0xrDf9NIF0Y9HZHJNCBAgoNWAATPxja8iv4FenJBMQKJPBJKkr+ccoMO0mj7oxdPnbrosqPmR6fDNVtQlY5fpUOcellkRSYrCkWrNX4RrvsGICVYPxaTNgDSbp6ORXsvjo5G7QrmI3tLJY7PRkRhMjf+6sLIyL5EHIDYbIvB4imuAWE6JCBSfs/ltVzdy0aFhJTmJzkBKOFSgNnf/1l9cPfM/reQA2FESKl4DBVT+5ElvHxfrxyPB5XppGCaED1FePkaKCFA9pCWdwo39OBj+G5zzcLjx5AootgTDsg5x1MAfMvuR95yA+p1IKQV1VM1NTUrTuRF5pS0ZghAGAHChRcQXGH3nKfpcTpEJAx3LepeUljsKNXoHzx5cjDqp3mTZQpFmd2XziTLTcxGeFeqd0UCLSPeTWcfpIuO4GrKXm1BDrKm3dzs2odGaQeGcvj4vxeRwhbUrjeiS3Gtweo2Is8HCS2yDxzLkk60+P3FQJaZ5YS+FniIBRR84Ig/oGT++M++v9h3afDqJ38GRMgL4SJj2J2lG+tblePQsXFjExEey2TR9WR0ruckIecHuZh394C3zWAxQYNlr2psdDSbK881PhVHeb6A5An5bh389NZwl38FhNid3shchXSb4SELE+UgRRlAkADeoqWrgpCtylSPTmdthkSiv+POndEoorJ2q7vUZEj0IVmszfggOGQp2UnRRYCwFpxup8W7khQVJa8fLkIUbDRB+NjS5mg8/kMMh8v4GgW/IyKbjXWVjQRIOwApM9mDu6fIReaZNTB2BBgQbUBo6yUgWulkwcCGBCTo+OC75xPeDionhNgdXsjp0+/vP3ly/50H//6nal9qFf3FwBcBwtkWll/B9DKIR9l0LCAkdRdyyAEvmlT3AJCkuRIU15pzRaV5AJ4vIVCcNEfDIV5CkAy5G4rM9aUBASEyVIVz0oMgzERCbgYErrz0Ukhukvwa++d9Ix3XRw+NuJy16Hpujwf7dgMQyUdOVSu5IIIDmXAAIJIQOnCaLuCDqGvBNDZmMlnbW2jEwPdfpeH7GTR+Z0IMlefOVWKMkM1SVoZMeMUeMkkI4yvDykSIRJjHlRMhwvviGB5sV3C6rnvI6Y38+v1jsFNHfnz24uD72F+tYaBEIG6OjxeJd1+uZgR5mZB1LmIdBZHkoU/RXb22Iuz9z3bWmBggLmkTEsUXKb6bJ6ShvtLlDYVjvISsrPZPRCaVCNqIvDn7CNJXl4k8GD1SgSIR2qIDchWpxCwayB9C74QLh13NkNolIHwSOQAgsqGPlQYaUAFPW37e0HCebgddAjYMDn6TFh1w4suPS8toLJ+hpeEDzE3UbP5/GdaQA/VmAGIzlpW6VyehM88AQnJ2MqYW'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= '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'
    $BG &= 'u7bNxHEcvrbQqWMJBFJQ33eJyUmWm0FosHRBNSGddDTWpcYSoSqNl8pQcEKyCaNmahuFQwoZAoFCCBRDCWTr4FC6dAv9V7r3d3Knlq6h2L8HbMgf8OFOBOtLbgT9RCovP5AbgdDSFxj9WP+8I2Lf9rlpSk4anQ48i/ypunEZO8ISOw0Rh2Fq1ju1B+/+612vkOmE0OnqibG+2FN92CGnJpWSUmr9uA1+6+Pu/DwpBGNM36xr8fmaDYXU4PgphmRaITRcPenVGmPoww44ZQwScQOfxKLowf8S1XtI5+buLS4axnqvQYhUfTS1R3W2sLYWcq02bxQemV4InS6dGBDIlu1zSZluth03yI+zwE1jQNVzCaXSceAPzh3K9OWmpmki/v88jDc7xvUqmW4Ib1lFwdLQd52oDSKHu0meZbAzYh+Dfj/Lk4PBIEkD6MPUIRAoRLD4SUpFMQPnB0KWp86IycB6JGEP9LCf7e1tj66uri4uLmD9Zr97kATfuBOpQXJd07RNYTImLItMP4Q8jzGzXQWiSnkLE7lwgoyqQL5DIGf7MLwM47MtGEkD2kS9IDMBIQagkKhtUsdpXX6FnXIIZAL2PM66G4fQx/sWDIaCpqbpOgRCZgRCtCoERCqQy8Mkz4+PRqPtfn7weqPbVYFwmEOEK1ZFF9YsXa8QonTssQhuWVHUaj1zgySBQo76WZl8hEIGg91d7khq6k1NV6yVIZkpCHmMRuSVOkM4cYPAD+28zLIsTwZlGbhcSjoW6kUlszkWi5BH4WvZlFISruZj/aAssy27DHarPNhYAOwDIVWKm0IkZba35XMgx2NPiF+bBAihOE1TFxIJXRk5BHjMZN6QAIQQV+uyaQqfWJIJSilREEIxAWq7bGGBIIT+8qNdQP4d6Cfm7QYA1X39iAAAAABJRU5ErkJggg=='
    Local $bString = _WinAPI_Base64Decode($BG)
    If @error Then Return SetError(1, 0, 0)
    $bString = Binary($bString)
    If $bSaveBinary Then
        Local Const $hFile = FileOpen($sSavePath & "\Bg2.png", 18)
        If @error Then Return SetError(2, 0, $bString)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return $bString
EndFunc   ;==>_BG

Func _WinAPI_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   ;==>_WinAPI_Base64Decode

 

The rest is homework for you. ;)

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

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

  • Similar Content

    • c.haslam
      By c.haslam
      UEZ has kindly provided me with code that rotates an image per a line: see here
      Because I want to trim a photograph after rotation, I need to crop the photo. I wrote code which calls _GDIPlus_GraphicsSetClipRect() to do this, but it places spurious stuff in the corners: see 2.jpg attached.
      I want only the trimmed photo to show.
      The original jpeg is also attached.
      The arguments to _GDIPlus_GraphicsSetClipRect() come from solving 2 simultaneous equations: if a and b are the width and height of the original photo, find x and y, the width and height of the rotated and cropped rectangle;
      a = x cos(ang) + y sin(ang)
      b = x sin(ang) + y cos(ang)
      My solution is:
      x = (b * sin(ang) - a*cos(ang)) / (sin(ang)^2 - (cos(ang)^2)
      y = (b * cos(ang) - a * sin(ang)) / (cos(ang)^2 - sin(ang)^2)
      To try to get a handle on the problem, I have temporarily added in several lines in Case $btn. In 2.jpg, you can see that the rectangle bounding the area to be retained is in the wrong place.
      The code is:
      #include <ButtonConstants.au3> #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Opt('MustDeclareVars',1) Global Const $MK_SHIFT = 0x4 Global Const $MK_CONTROL = 0x8 Global Const $fPi = ACos(-1), $fPi2 = $fPi / 2, $fRad = 180 / $fPi GUIRegisterMsg($WM_MOUSEWHEEL, "WM_MOUSEWHEEL") GUIRegisterMsg($WM_PAINT,'WM_PAINT') Global $gX0=10,$gX1=580,$gY0,$gY1,$gForm1,$glblPic,$iLW,$iLH,$iW,$iH Global $ghCanvas,$ghImage,$ghPen,$gGraphicPic,$ghBitmap,$ghMatrix,$ghImageClone,$ghGfxClone Global Const $kDegToRads = 3.14159/180 main() Func main() $gForm1 = GUICreate("Form1", 623, 601, 192, 114) $iLW = 589 $iLH = 500 $glblPic = GUICtrlCreateLabel("", 8, 8, $iLW, $iLH) Local $btn = GUICtrlCreateButton("Rotate", 472, 560, 65, 25) GUISetState(@SW_SHOW) Local $oldY0,$oldY1,$fAngle _GDIPlus_Startup() $ghPen = _GDIPlus_PenCreate(0xFF999999,2) $ghImage = _GDIPlus_ImageLoadFromFile('H:\b\pergola.jpg') Local $h = GUICtrlGetHandle($glblPic) $gGraphicPic = _GDIPlus_GraphicsCreateFromHWND($h) $gY0 = 400 $gY1 = 400 $iW = _GDIPlus_ImageGetWidth($ghImage) $iH = _GDIPlus_ImageGetHeight($ghImage) $ghBitmap = _GDIPlus_BitmapCreateFromScan0($iW, $iH) $ghCanvas = _GDIPlus_ImageGetGraphicsContext($ghBitmap) $ghMatrix = _GDIPlus_MatrixCreate() ; Loop until the user exits. While True If $gY0<>$oldY0 Or $gY1<>$oldY1 Then Paint() $oldY0 = $gY0 $oldY1 = $gY1 Else Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $btn $ghImageClone=_GDIPlus_BitmapCreateFromScan0($iW, $iH) $ghGfxClone=_GDIPlus_ImageGetGraphicsContext($ghImageClone) _GDIPlus_MatrixTranslate($ghMatrix, $iW/2, $iH/2) $gY1 = 300 ; temp Local $ang = -Angle($gY1-$gY0, $gX1-$gX0) _GDIPlus_MatrixRotate($ghMatrix, $ang) ;~ _GDIPlus_MatrixRotate($ghMatrix, -Angle($gY1-$gY0, $gX1-$gX0)) _GDIPlus_MatrixTranslate($ghMatrix, -$iW/2, -$iH/2) _GDIPlus_GraphicsSetTransform($ghGfxClone, $ghMatrix) _GDIPlus_GraphicsDrawImageRect($ghGfxClone,$ghImage,0,0,$iW,$iH) Local $angRads = $ang*$kDegToRads Local $sinAng = Sin($angRads) Local $cosAng = Cos($angRads) Local $wid = ($iLH*$sinAng-$iLW*$cosAng)/($sinAng^2-$cosAng^2) Local $left = ($iLW-$wid)/2 Local $ht = ($iLH*$cosAng-$iLW*$sinAng)/($cosAng^2-$sinAng^2) Local $top = ($iLH-$ht)/2 _GDIPlus_GraphicsDrawRect($ghGfxClone,$left,$top,$wid,$ht,$ghPen) ; temp _GDIPlus_GraphicsSetClipRect($ghGfxClone,$left,$top,$wid,$ht,0) _GDIPlus_GraphicsDispose($ghGfxClone) $ghGfxClone=_GDIPlus_ImageGetGraphicsContext($ghImage) _GDIPlus_GraphicsClear($ghImage) _GDIPlus_GraphicsDrawImageRect($ghGfxClone,$ghImageClone,0,0,$iW,$iH) _GDIPlus_GraphicsDispose($ghGfxClone) _GDIPlus_ImageDispose($ghImageClone) $gy0 = 400 $gy1 = 400 Paint() _GDIPlus_ImageSaveToFile($ghImage,'H:\b\2.jpg') ; added - is rotated, with same size as original file EndSwitch EndIf WEnd ; Clean up resources _GDIPlus_MatrixDispose($ghMatrix) _GDIPlus_ImageDispose($ghCanvas) _GDIPlus_ImageDispose($ghImage) _GDIPlus_ImageDispose($ghBitmap) _GDIPlus_PenDispose($ghPen) _GDIPlus_GraphicsDispose($gGraphicPic) _GDIPlus_Shutdown() EndFunc Func WM_MOUSEWHEEL($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam, $lParam Local Const $kYmax=$iLH-1,$kDelta=2 Local $vec = GUIGetCursorInfo($gForm1) If $vec[4] = $vec[4]=$glblPic Then Local $iDelta = BitShift($wParam, 16) ; positive = up Local $iKeys = _WinAPI_LoWord($wParam) If BitAND($iKeys,$MK_CONTROL)=$MK_CONTROL Then If BitAND($iKeys,$MK_SHIFT)=$MK_SHIFT Then ; do nothing Else If $iDelta > 0 And $gY0>3 Then $gY0 -= $kDelta If $iDelta < 0 And $gY0<$kYmax Then $gY0 += $kDelta EndIf Else If BitAND($iKeys,$MK_SHIFT)=$MK_SHIFT Then If $iDelta > 0 And $gY1>3 Then $gY1 -= $kDelta If $iDelta < 0 And $gY1<$kYmax Then $gY1 += $kDelta Else If $iDelta > 0 And $gY0>3 Then $gY0 -= $kDelta If $iDelta < 0 And $gY0<$kYmax Then $gY0 += $kDelta If $iDelta > 0 And $gY1>3 Then $gY1 -= $kDelta If $iDelta < 0 And $gY1<$kYmax Then $gY1 += $kDelta EndIf EndIf EndIf Return $GUI_RUNDEFMSG EndFunc ;==>WM_MOUSEWHEEL Func Paint() _GDIPlus_GraphicsClear($ghCanvas,0) _GDIPlus_GraphicsDrawImageRect($ghCanvas, $ghImage, 0,0, $iLW, $iLH) _GDIPlus_GraphicsDrawLine($ghCanvas, $gX0, $gY0, $gX1, $gY1, $ghPen) _GDIPlus_GraphicsDrawImageRect($gGraphicPic, $ghBitmap, 0, 0, $iW, $iH) EndFunc Func WM_PAINT() _WinAPI_RedrawWindow($gForm1, 0, 0, $RDW_UPDATENOW) Paint() _WinAPI_RedrawWindow($gForm1, 0, 0, $RDW_VALIDATE) EndFunc Func Angle($y, $x) ;return value is in degree Local Const $fPi = ACos(-1), $fPi2 = ACos(-1) / 2, $fRad = 180 / $fPi Switch True Case ($x > 0) Return ATan($y / $x) * $fRad Case ($x < 0 And $y >= 0) Return ATan($y / $x + $fPi) * $fRad Case ($x < 0 And $y < 0) Return ATan($y / $x - $fPi) * $fRad Case ($x = 0 And $y > 0) Return $fPi2 * $fRad Case ($x = 0 And $y < 0) Return -$fPi2 * $fRad Case ($x = 0 And $y = 0) Return 0 EndSwitch EndFunc I also don't understand how the rotated picture gets displayed. There are graphics objects, graphics contexts and PDI+ bitmaps. How are they related?
      Help would be much appreciated.


    • SimTheNo1
      By SimTheNo1
      I am busy with building a solution for change monitoring of VOIP call program and to be properly automated means among others need for some limited OCR functionality. Current works of others are way too much overkill for this case what makes the need to build it myself. But to do it properly I significantly have to increase my knowledge about digital graphics management.
      For now I already have discovered here and there some mind blowing  Autoit miracles what can be achieved with Windows own possibilities to manipulate that what is output to the monitor. And as far I can judge there are 2 options to process graphics without use of any external libraries like ImageMagick, FreeImage and so on. These are:
       WinAPI  GDIPlus It is for me quite obvious to have various holes in general understanding of graphics and it is once more very clear what advantages gives consistent general study in 1 or another official institutions like University.  Cause there you are introduced into certain domain of knowledge in a way which usually has been perfected over long period of time. So you are not overloaded by stuff which requires a certain amount of information to be initially clear for you. For example, before starting to solve physics you first learn to read, count and so on and then move to subjects like physics.
      Though in my case opportunity to study in such educational system I had only for 8 years, from my 7th to 15th year of age in the country that was falling apart now Ukraine but used to be USSR, was all what it was. After have immigrated to Netherlands possibilities to study further haven't occur. And this therefor causes often various implications when going deep in that or another field of practical knowledge acquiring for any needed physical result, like programming to perform enormous amount of tasks. In this particular case automating VOIP call program.
      Anyway, right now I think the best direction to move is to concentrate on as basic as possible image management and if someone would maybe explain in general what is a pixel will definitely help. Particularly I am very curious about how to do picture manipulations in Autoit. Especially would help a lot to produce eventually following functions:
      createImage($imageFileName, $width, $height, $color) readImagePixel($imageFileName, $x, $y)  writeImagePixel($imageFileName, $x, $y) I do not know exactly how image is handled in computer but preferably above mentioned functions should deal with so far possible origin of graphics creation on computer. But nevertheless I definitely would love to hear any proposition for solution.
      The problem with explaining screenshots:
       VOIPConnect full Window  Part of Window with control to monitor for changes  Exact location of area where actual changes occur and have to be processed  It comes down to a rectangle of approximately 51 pixel wide and 7 pixel high. In fact if I get to learn as far as to be able exactly read, write and compare 2 images consistently across different computers I could narrow down then even further the area to watch as little as a square of 2-5 pixels wide. 
      To finish here is last detail about particularly no need for ultra fast solution at all. This because it is needed only once when it is first run on a new computer and to have to wait few minutes while it is being set instead of just a few seconds make no sence.
      This is it and what I too think to do beside this very particular case is to purify out beautiful generic Autoit functions for core image manipulation by using WinAPI or/and GDIPlus. 
    • corgano
      By corgano
      What I am trying to accomplish is to simplify a .PNG image and convert it to use only a specified pallet of colors. Eg if I have a pallet of 0xFF0000, 0x00FF00, 0x0000FF, it would change every pixel in the image to one of those three colors by whichever color is closest.
       
      The simplest method I have tried is simply converting the image to a 16 bit bitmap, and that does simplify the pallet of the image, but I want to be able to specify what colors it specifies to. The other problem is the resulting saved .BMP file is much larger (file size) than the original, and I don't know if it's possible to make a 16 bit jpg.
       
      It looks like _GDIPlus_BitmapConvertFormat is the solution but the help file doesn't go into how to use the pallet and I couldn't find an example that did what I needed. Can anyone help me?
    • timmalos
      By timmalos
      Hello all . i'm trying to build a tool to generate some pictures/graphs automatically based on some variables. I have completed the first part and I'm struggling now on what I thought would be the easiest part :
      In my tool there is a "preview" button, which helps to display on a new children GUI the generated picture. What I do in simplified :
      Global $g_hGraphics = _GDIPlus_GraphicsCreateFromHWND($g_hGUI) ;Then, I'll add multiple objects to this graphic, for example $Temp = _GDIPlus_ImageLoadFromFile($temp[1]) _GDIPlus_GraphicsDrawImage($g_hGraphics,$temp)  
      I'm then able to have a preview GUI showing all my elements perfectly. This works but now I want to be able to really generate it and have a ".png" file written to disk.
      What I tried without success:
      $g_hBitmap = _GDIPlus_BitmapCreateFromGraphics($previewWidth, $previewHeight, $g_hGraphics) _GDIPlus_ImageSaveToFile($g_hBitmap,$OUTPUTDIR & "\generated\test-"&@HOUR&@MIN&@SEC&".png") But what I write to file is a transparent PNG without anything.
      I'm pretty sure I'm missing something obvious there, I need your help
       
       
      NB : If this change your answer, my goal will be to generate transparent png, meaning I'll add multiple objects/pictures/texts on a transparent png background and if there are some "transparent holes" I need them to be transparent in the generated png.
       
      Thanks a lot for any help !
      Tim
    • Chimp
      By Chimp
      If you set within a window, a given color as transparent, every area of that window painted with that color, act as an hole through wich you can see what's behind, and click on what's behind as well.
      What's funny is that if you embed a browser control within that window, the "transparent" color works even within the browser! This allow some interesting effects by simply opening any of the many javascript animations, or css effects or whatever within a browser control embedded into a GUI:
      Here, for example, is a simple effect of fishes swimming around on the screen.
      For lazyness I have embedded an ready made swf flash by a link to the web, but is of course possible embed any web page with javascripts css or whatever.....
      Have fun
      #include <WinAPI.au3> #include <WindowsConstants.au3> #include <Misc.au3> ; for _IsPressed (23 END key) Local $hDLL = DllOpen("user32.dll"), $oIE = ObjCreate("Shell.Explorer.2") Local $hBackground = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUPWINDOW, $WS_EX_LAYERED + $WS_EX_TOPMOST) Local $AlphaKey = 0xF0F7FF ; everything with color $AlphaKey within this window will be transparent ; even if within an embedded browser control!..... _WinAPI_SetLayeredWindowAttributes($hBackground, $AlphaKey, 0, $LWA_COLORKEY) GUISetState(@SW_SHOW, $hBackground) $hIE = GUICtrlCreateObj($oIE, 0, 0, @DesktopWidth, @DesktopHeight) ; <- embedd $oIE in the AutoIt GUI GUISetBkColor($AlphaKey, $hBackground) ; $AlphaKey $hBackground transparent $oIE.navigate('http://cdn.abowman.com/widgets/fish/fish.swf') ; $oIE.navigate('http://cdn.abowman.com/widgets/spider/spider.swf') ; a spider goes around on the screen .... ; !! to use the spider.swf, you need to set $AlphaKey = 0xffffff on line 7 "! While True If _IsPressed("23", $hDLL) Then ExitLoop ; END key was pressed Sleep(250) WEnd $oIE = "" $hDLL = "" GUIDelete($hBackground)