Jump to content
timmy2

Trying to display text with a transparent BG atop a Veeblefetzer

Recommended Posts

timmy2

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
timmy2

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
AutoBert

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

 

Share this post


Link to post
Share on other sites
UEZ

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 &= 'L3IiYUWoFnuQ5uSlT7/igXZSZ3FhiV6yffX/TchYF38hv3iO5cyteQJka6u3cEVfGbu60nv/oz6rHJaQIXlAsPQyWgmOTD0PGLNqIzcWkMjlynMe42VExCuACcTttGJAMguIASCNSJU565V/WQ0yzZ9HColIv01Y+WEs4wiB4dKfJs0VENpTNyaXzl4twb7CgQXSPoXrKEj9PRcQKj5FaNCcfOXSzb1VAeTV1zqzC3gNPfy913f4K9pj/ext5oMAscKXCDdphBev1SBAiI/dWfoeSJ/IACCSPbBMjBiF5w4amf6XemfmBfLbDhDaDLJ79eEndSJ687dgcRuQ0GoCEFQTIFleB6SRKQ6o5Y6wpdLd2AXpBh+mgjipDwFksKAhgGCMbtWPAB83y0xxEYFtLofTFNiC1J+ykGXPjGWdDkhzcvLSzZscp8t7vneXiZB5vqc5fXdOZKy3LR8OkJl3NvjVTD0aPekIH4sPjg4/6g+rIQjBHbcywUSLUD4AGZaVq7aTDTM/308RER8hEIjcFwVjrMSBcJ16EMoR6Bf5cisckbFyr3DHCnSQDOfQAXvFy5GpCh6NViMGH8Sfkb5xfi91ncoH7eMadbS3tIQEUTcDYgOhlh/JOlVo0iRA7nb3lncZEMoXYub7PM97BxmWke/Mi4wJAR8EyHvvWf/xwXG321sfrPAULOLj2uzmP27cu8cjUciK45bbLnzE8TQoRsXmJuXGQyB85JAwopkCsBOYe64WL7toC2WI8ZtNxND0vfMssP4nT0JCwh0nzYMYdoX4E5mRko2ecJYU/BkjB0e58R3i2HJkIlzyKDKOHZsqVBfKJHg+NLgHIOhdyp6VFmKJJgDkiG5Wi9PTDAgIoV/1FEI8IN9+KDLW6z98E6sZ4EF8QB9/TG8xOSb/sbG+BD4QGr6xTClCvEYHsbkSUrQlrICM5yPXzZFxinTH3dIJEUcCFePenHBskXF5xDg8AUZ490KLpWvZv3Dhn6RXJi9c4MJm2rLikhRqEkIpSuy0QCx8u0k0jJOpdhtA2wR7S2/tdekAL2ryDFUp+7KC00GRnYxlchE+OmFWMSdGXAh4UF8hfhAFp0Tobg4jCalCesT67ObRUXf2GhOCd5Ndm134qRLi9C0H62O9hWcr6GMSofHFF1/8mAC5eHGj16Xnq3niY5cTuB2k0A/BhwCCdSFxt1DhF2IjuBlXRQVLiXIu0yq+x8fIDyPHh10JptOp/QSpccSkydQU2eP/2Dub1jauKAxrkXZCoEKW6kXrti5UJRTXddymVbWIVTNqhRJIJ5TKqFQhWHiGoY0z0jSpLciAKpmCPpAUy9i4ELwwwqJDVoEsVDBCm2KJgtZZZddFd/0Dfc+5M1LidtE2Wz1Id+7M2J6Rfd57zrkzPkNfYxgSBCBJpikJo/aSsUAW3mDQ5ws+gxcb0aJx0IM64J7OfdMMPovXNHXdMAzd5MpUhsR4Cf6BOA5Bx8duHecgGbrP6+XVaRofWNRO4uTexO/mJ1whAvs5EHTzD9cdoovPxQIhTusD0GQb7fXTKfnwaVU1emGBFfI5QMz7Jp75fsqHgNFN2Z7nZ5J7yGgpsgoz7Tbepbdw60I0Cn2sLIrSyajTcLO2ZlnQB2kDL1cg7uQUlm5STvrgHJ7r6EAgLA5UjzpDtaDIztnufGzMzMji0WED14GB0oKG0bOOgAWK3ClmGcvihb25uX6bS/KCerZY7PdPinWs3hNk8crSC/CC2817I1ap7qddt2187wkWFg7VA9YadgyqOAGjx1SBXV2DyGq1jY0NFaAvzUgkXMn0kmZMyWQg/bEY3LDOcV+uQCgwO8u2PyP4m0CwTYwRkt/vjAm6Wrs+v0BXQ1ggUMj3KxcchYz1UVIUN698DiaEQmhkOX0Z2kiFMyDcBqyPNP7jAPnHyiKFV/Sn+PjmYQ+VsMb+4zxP0wiGo5JXNC7+AROgSwvfUUU5Kig4DUuZntINQl+D/UAbNB7CysbQCA/F'
    $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 &= 'LnRaT4U4S9FeUPk+MHfMf5qs+fhX379UA62eQThHYtUMghcfECffoOnDd1kHQKRmoejn5wiQ3H37tpVTmjBL+L/ungv/HwERAZA9NIOwV6e+eepsXw/g2Jj2zOGJfAnCWToPwgFSujoPsnt3R+JBEtm7/tbmSr1UiVKUomhkIhI2abUmGKCcBmAxYSImgEg4YoLC4QijCMdud9tQs/7AoTOtAzPR2MOlJRhrcFZ374taCEzpsrO1s52p5eXempNpQoZTviByIYVqxdP5yC3PK4YLEvSlhjF/gA9u/kilUCDsY+YNXkHGRDiMxVV4acY45bQ6ZwJX9AUABA1USL/LQbicFGQHLUMJ79+kQc40QZcTc76GCrFQLHWGWo86+h0Auu8IAOmq6Tr4mA9CygDCAlnkqwMQnQ+AzDFAJJhB8lklFqt2FwGQ56yX2CEPAkDgB+ZuzW8kQHJ3Y2es1/+yGVR8maAgV51I4QD554oP8p01iUIAMnQ8cQN+bT8IOaBRZkm8+kCEFF6lSBiM8CI26NbKQ9XwPt7X66+0BqJGY+zhQ7R5hyNBnZYzP0AEQFAvn0qhkuok74bAC7lgaog1lRR64+sAYilGEj08t1DPws4cH3d/jV6tkbCHun3Rax6DFo1YXdlmjAYrZAzYCt7QB6qrQ7iJ5uEGz2OKRaPRRVJskV3jjL4hHI5qFGaFSt/cNjl51H0nNY9NG45c6uq6ef16OoqVASS2ChAu2Hv5Mq315nquECDnLFuYE4IpZMdrorQP8rwt8SUgufADyQcBIY92/+Lm4Ea8ZgrJQdYqhQFCqQnSIAwQ4YqTXlyQyYOUndr9oyGs16HJSUfIWoJ1uH4AuxjAjGLGj2B30djin4xR2t8gOjND/6KeqAc2FY3OGGN0dB1tQwGsxugaME4VWQ0Gujuz1PC2h4nM8J23J+amgchCTT2Fslgga3na1OAZqyiJ339aySJW8N46gxFJ9N6LKwkQmkAAyFxk0YCtJJqwLwnT1JRKZXU6rZq6OgLEKi2yhULokIewtwkvDXvcatVYNbxwyaRS4TFrldf+ocY2dGIB1Vzz8wCk9hgDBLNI1xpAVGlAQMiuXZREBx/QbE+AA4SiWNtojZXfKNrEAOFaUNeWVwifgUV93n0dzPEcII2YQfbk5oKQRtT4CE4SIGyJhSJ34oNnZC0gCPPuXAHkGAGChsK2thMIgLpdhr+Vlkhh5ZzlqaAqlaYCp5yJrYidWrmj0yYQVDpVHwoEIRTpkgUyA8w8js+PLVL3d+dyL0Wy+EjvZ93hpbEmafzND9YFZKyh++7wRb6k6+Rvu26ksL4yeQxSpVL5Z7tf4cfRbrf7lYVVVXWobFQZo7EKe6nUWlAk9YsVnJRMfr/ynFqNE7Ud4necw0fxgN/vV7ffv1+oCXUcHk4meyHkQcr6AMhNpFQuAZB/Fa6u5uUBgQiQ7VoC5IJP50sDkkeA7MH8nkOhQ6Y1SZBnBwj0+XVZMoDkABBUw21jLVMbNgj2M0D4NimMqwEZWwtIbRnogGqxBW1HH+whmUwm5h1Y9JSUoBsCtkS7sdkxqJVr5OftzY6HoOIqgQAtgnaYtEqKxJ5K1a5mFqeEaDynsKuMYROa1P+RSBIg0LVbo3d7wlSQFd+z76k+yLbz7U0PG2ZTfAwLE0jXwl30NsobxjTFMplMTHssyCCzWSRWt9P/a5c6ZwwlEomiUKUqNKPog8ksEm0RmTGKZDKRCC6CBBfYLon+JKbbuJRZzt+vKmo+3Yt4G1qyrvZ21B4jQLqeCEhLNgAhcYDI4aJfQGcxv8SSyfK4OO+2JwPCEHnWFvJCfP8TXjDyX6KbXvG1g+rhKM5LW7z/5mwakDQaT5xBJBwgx5hq3z1U1lV/9eroKH43jzNASv1iJgk/KGQksYhd44RGEjtKFN54vFSJPTyR0Cgt9Svt0qq4TGTmHmKjSKQonFqU+y6AkE/r32KE/AG5wpEWz9i6gCAGFLc+/LG28wbq'
    $BG &= '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'
    $BG &= 'w12AmM1ZDXMA2ZgeAyASCcEUyw9kZQ51OWtqpgExzQ1EvG1yDwWWWI8Vu1ZqFPJIelCIJASBurDKwDVe/8xsyEGorkwYm0KwxDopAPE1PvB8t5DNIMGsAiaAqAHENK2qSZkTpauzLWRHIh+y8PDudxmQJi+QwcuoWbohJ+luSyyzuQhApi+xTotAlFIBkeFvSK2yZFmdXSKQ8fErI7NyELbEwgqLAUEAiBCPoXS1mfoTWizmUBFILQFRBIR89XW1FZEAogljQGLTvLtYLHw9CgHFBwQ+KAcBEJMIBM07TTVOlx5pr1IZLpMOSNJMIK02FOw9/8VAZuYgreIMgpNAmVTBqXmOa84EEFMNgCBEIEbOc9IHILNKj2L2WICvx/Y6UOGYAbHTSboIxH9TSGAG0bAlVmzEXEDwIXaDFoEoRCD6fBOqxrGoJyA/t8ZHIT232KUDop4N5E0AGf7vAVntBTLWdeIyAXlSQiAynLNzzXj/ZRKBYJt3FhB+NhBxlXUKdRX1FrmaxzmhBQUDACQCSyyFP4QEAkB0GgRl6TpaYgHIQgCZHaACIFoBiEIEUs9aFOIPTSH1TgCBD7dMMiCckKTPALL6+S8GMnMXC0D2AsiN9KeVEgJxm1Wqol4bkvSlIyNsF8sHxLfEYkDmsa0sEQgmkOHSxklsFfMWlI1Dis7qKtbulAeA+GWHK41T2d1Ckh6hC6Yk/S0C4k1CKEMXm976gCDNVCdUA0jNNhYrMIW0tTkS0QbWnS0dECXb5t2y15eDAMjqy18AJJSS9NW/mgnkMgF5XDoggBmh0m6w1bUByBh8CECsAOLNQdJvEJB5YgpCQFiJRQKSgssEPA8gYSREgybp+Ev3E5AAEIsbSXoo9WFj5yCnUZ03BC58IfZ18S6xPEl6/dKl0NHXt42tsYas8TG8XXiXIeE275YtpT4gti8GEoYchLZ5fUAKAYS2eZ+WSwkkTBWtRbcTUz09mPICyfABwYOpG7iMBSAIQYhQFosBYZd5BSAaBoS5+qu8gfjXrXonp9JpAIRuK0bQDDJyegmVaZghhNIQFMuaAYRyEALSR0BeP1lmMmXGR6kNMsmBTJ9BmtCH6iwDEneXF4UAsnomENyZPYhdLCmB4KaKthczCANyZW4gT70EGb4cBAk6aisuGLa50GQFHTwBRBOG340GPW79BCQQClRtoDdrmlAPkPYt8DELCLSgG8KdQMCDgFCHkLKyzPhotVpSIN0zgHxzbWsT9m+33hXIMY3OkNxw3jeDfBPXeUs3PXz/Qa3EQLCLVVL6RUCWiLMHfQIIdUBYsHfQmsKlKdg5SBgl6WbUjfNXjh4AspOAxLEXIToGpGtPyBxA6DbvHUm6B8i2mpP78/MLivhuhdQzCMpADDetf5EBeRFAsD21/a45SJzduHm7AGSfeFCIXayHn5J6iRUbTkAaKQe5Qk/SW1tnAkHhuI1LEKj6gFN0z5V31HdfcJWABO9UiUBQMCCCzSD+OQcJ7GLN92xj6WKDg8z7RzpnA6FgdxWPV/I+IMbJRSu2jY+MjzAgpnwC0i05kOME5JoI5LlWYYl1VyB57uac7ew2745V4gzSvncLipYmPxkFIBJ65oy5xY0u09K+sbFCFP5pHbkDyP0LFpARXHenmCcEZpCbXiAaDeWH82spSQcsPyzuA0AiWfFRto1FSXpf57MhlIPcMYV87TvHtbz3oBBA9q/Y1iecgDEgVgAJlxJIN88nHUcD52FbRxVez6IJQgeAIEkv19rvAiRvQN8wjD6g50+vX/sIFTW5cnp4y/YbqBYUrZISSLgIpGZkrJABGSMgWg46vEDuWbAE9ZAEHJhHSMm9p64eymzmFOFi8wMAMTMgxMp/1wADQMSrJvvHOvd+B0BmziHiQeG70cEUDEiqPn/Ftv7+/jEI2bbiZL4LQHjFTinTXsNEOpoMbii2VVDfJ/RL22FDF9pnL+Romz8XSHZKXF52yfZNzw+feOuz9SiAvepKJ7UW'
    $BG &= 'OYjaEHa7RjofqKabcLF3GpBCAnIRQMQQgYj1qx/EZfeFPiBq+r1ERNA5CM0g8zmlv4AEgKgIiIYmECTpsftHWm0eID4hvpN0RJoHSE1fP8oyj40h/RSAqMIlBOJGF+fNx2/cQE3Ppo71qGNd1dFuQyWu3pLy+OaBsLl9pKQMuAUgJwbfut6BTKDzs9Pnh7fcyF0X32zXhC2XjnMkgDQUMyBrSEhh/1LTzdyZQKgsHhIPnH9ACAG5597fn7r6wwIjhxxdFYEWnsgPASQ42E/nhIGmCj4goQzIA32tg99mPD4PSJoAJEFfthRAKPqRfhKQFJVSuhxEQ0CScw4e6G1srGuv6KBWm+1Ng3WNBMT4OY3Ybg0YYgwD+t5nMX9Qw+eK9vbTJ04M79lwIDdHmxCNLFjCJB1ANmxADjKG6u4MyKwZJH7jkgUo7IjS1dQ7B0BomXUvzSAFRuXO2lqdjv1mBCDB/pkRApGmFIGYzbFo46l6Yts4A+J9BkJQCIj4Jl0EQifpIhASMm5yERBeqZRuwE1NTbBG5w0NjrY2tC8/R92k8USrsSUjPpXnp6bmAoKNZ0tzRkOpDX2l29upv7SNisePAkh66uNKrlbKHIRmEB+Q9WPbfEBYG+h/wA7WMqGrFE0h8xDY5j11YjDDIA+ePx9AUCmClcUKBxD/hfz/c4KThvLuZjFH13Fy1atLxwdfIiCMxswknYB4cxABCLp8IMY6nQSkSEog4d18TEL6uoySkgaHw+Wqa4IR9FDoGhx04IYTj/e4d/rYDSD41yW9jQ5Hz1AdovEQymsXXLx4MTcnOSkK3KUDogCQQw4A6fd0mNp2ErtYM4GABsUS9hCEhNz74KkThzJ4L5AwmkGQz/hpizcQwcH0bo0BiRWAjHX5gCCAhGHxAsF7EA+Q/rFCJuRKp7Ms39VSpAYQCTd5Y5KSy/UZuQdLLmZmWh0Y7k1tQ3WHHNbM6mw7z8+lakDIwwsQmY5Bm63R0XshtzwxK7EcVUK1T3IALeUuVkZPjwkziBfIzINCAGHbvIwIcnQm5N7f//Hs3gx1EH4taBtpprpYYbHUwlPul+JSgUgDkFD4EJL0tEgA+eylr9+HHEQo2UD/RMy4aiIk6QRkza+FdlEjNWVlAMJLmIMoOPXT2uREfTkK96I/QcGog80IDSUZBZmZ1Xka+5xA3G5NXEpWVlbixVEbSsNfa2xA8mFEz0JUQtUaLZEK6XIQjjOW1LV5gRQW9gPIYREIgicgVPd+Gb22hY8FDMi9f3z+2TOPB+2cT0IABGUbYucLQPyDIdDGM4KWWEKSHsztXjHWtefreFOIEPeyfEC006+aMCCrEK8VrulbWlZWZgUQ6XaxwlW8UUtRWalN35xzYI/t2tvX3txz8AzaeZRP5iGNmgMI6rxNWYxok56+cfjDD27ffu/0D1H20UDVTFNTUw12XiZZxKmUzZkMCOswNRtIUBADcoqAYO6gP5SpA8gpAOEYEOQgGgAJi4jEMYjCb0AC5yBsE0sAEvzo632dIpCQr3tDBOI5KPQB2beKYk1/jWnIZM2KlhCIjDegqnQqFetNfXfz+1u2YsB/8uHWp77745fT3zUaQkPdcwFB8Ub7QHOl9jdLVn9y+6OPPr5+YvvxdCocnPr0008aJiYk8/HEoyrlgLWurc20ok/I0QmIkIP4rpos8LXgEWqaYAo5dXZvORfEchAzUnTWwhM+AoVE/X9QSED+dLKv84cEhDUGEQNJCAGhk3SK6UAgZN+qNX0r2tqGCIiEJ+kD9oRUVFPHwE6iYtQffvLpR5++8+Hlg2fStdok+xTizlOQ5omBlOxsvT5jdC88ffTRe9dRDv7gQXQzSEeJ7ISiRGmBZLYByFL0SZ8TSPrG+0UgaBAEIAg6Cnn4xCE9AYnQWeysAxsl6Qr/JemBu1gRBESo7x4crHt9zTgBoRCFiKV/6DYvL/cCMRKQQgDBF5ZYJhMeTEkKJDs+IcFYiTVWYs7BDXu2fkgz'
    $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 &= 'gIQMI1kBQC61uEY/CwBypCaS3XYFIAIiAOTWaCUA4R6El3kByOplByQECC/zxvAQy3aLGoOMkMRIGK/0MkDCgnKQD3cye/3HadpJb2mAEPT582VlBXZI6GAiq509uzAMK46JmncHINJYAgSTwVleXX3jy9k3AiD1NkwNMw+CVeD1CwCBuA0B4qibeAFAWNJiHpxXZ5HO7cgeRH0ARIxp3F1xcTkZGYYR7BN2kMbU7so2O1wJC7d8gNwVABmuDPYgbFSBJ+pk5EGmRit3KwKAYFgRoyYrpcobAkTGAGnx3JrihLDyFfcgMChMUZk3yIOQ5RMgtD+Hcw0Y5TUaje1QusW4OypYajw8GRnfdnWxQV7xgBiy0NYYP/P5yxlUpQiQG/Ue6PQoDNY9CzyIhAHiRoWJQqwJwYP820mzVqFQUx3LuseJ/ow4QIohTQLZK5Uc9FZnZcGNnCOZKRAChULLMCIslC+a/KMmBIi/D6I/iK0bnn4IiERFPZ/6b8xiqdBJT/EBwsq8yw9ICJBAiNXCGoWwQBZCllhzJPnthakAIDzEwrQ7rYO0teNwgUlLO+lpR4qtkM9RJSGT5SKeYkOseIzMen8/fqaxHw/8jwBkorHeZvIDErYYkCzFoMlhNvY2Mw+CJN2MLRV9GgBRwYNQa1GMAUt2Qd6JoUgrknV1B2kV4riJvaAKGyE48kKAYOSZkvRL6U9rAoBY9aOJUJng+Xkkr2ZFPY8qt1MVS8IbhWtWGCAhQCIiNtJOOs1hCWTgNQDI4UWAPHgAQO7fsxyzCIBcrmz3YJ2QfU0XbxqRy51Mj1z2MwCSBECUXlhrfXdtMwNk6Ivu+jOO8UEAAhWrRTkIAFF7TabH5oLjQpn3RbdxYKCQAaK5FksibaIA6drDdArJiVjdyiy1ulCrNZ1ob0ejtODqxzhljXH3nQTI3UWAqPStFZFcYQICRQIgUZHlxnZFsnR9DFWxCJCcuJUTYoUAgTOPY1dNntOgYrAh6Lp5eJd/1CQ1zw/Ig/vDuce2WNhCYZvLZoPALdICHseg3aCiuUB5V454QDZDqt/rnfc6AMgTFmINNbiMZsiyq+P3yZ2o8wbNYvkAcZj9gDyp7TSaB7Kz9WpDMTVCRB5t2BiN2PFbt5tPYhUO4jIWzF5AVgah9M6q8+mXAAgRUvKHACBSARAmlBoJLMK5AZYPbhjV68KwBIZGCAcEjcKVBUgIEMet56veBch3Pg8SAAQGQO7lboEONI6llXU31rnsl5mCp0JRWKiGGaiIZc3J2LHjZwAEM17eQc/X3V8MESCTzQ0FDBCFcl9SbPDjTl3AmLFqNY5VAZBe7nGeFAGQx60ARM0BEZODxGVmxnUhQ9+RpdbCTDYPZR9t9qrjMOjc9vZ2Xt2SfhEhFg0rltBO+p1FgKB2xQHhhISvvfHsF9CqkyWADw4IVG7PrpQqVijE2rrxny9axm9FLQQkEfYuQOBCHuTfH7ZABroB1jsx0dmJCi8tFeK6iQm5COpYGSj1dLlR8MkRk6QjxIrXZ9/J1ulsAGTGD0h7u81UqEy95lwEyHvrVdVqLfiwuTgg5EFcaO579Xq1UoP/IabMmyCDjVndUIFGZLUdgRUr3dEN62nkHi0Uc6ZbCBAaNCEPYnn6FiAjLMSCBTwI8hEAUgbn9xYgXei3rBBAQoDwcXeLIxGFlcWA1AQBUhrkQY5NT2PlFoQ0IM4iQOzwI0+3m3Q4rmioHktJQKAOofSlAkJCoLFJqQTInVaHrdHnQYZ64UHMaKYrNyU76YTiAkDGDAqd2dzu8gPS3/21zaQrLAQgVrkoQBIE4V0nKegUZ3VoqRUCg1Q6a6q31PY3F13IzQUgVMOi27wWhFixgU46AQIoSCQV2yDMVoV/WlfQIZciZ0uhCEsQ8Vw5fZBQFQuAfAxAuLxUgA+q9t6iYcVgQJp4FYsAQaOwiI2XtFXu3Q47QQpThWnb4otHrjnZRqxEum6pqTppyMQmpyrVXhDy2NzY'
    $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 &= 'hIAhqlQGljO5AchpWCpPaHYPz8z8da368g8MiUG7BuGs2RM8ucSWcFWwYTQIxCcjuBhPlNjcdpk9gt2gEoiF1ykOxA/rwyYCSSYmW7CKku7Hjp1/PnwgFguGahi5Chmgc4S0R6pOEYrOsyg9u4z/y3YEiejapNYNinS6p6cmEGhoQSH+OC6Nkmjt+U50CLPgUwNFF6NSpQa31gc7WsE6fVlXcJRXoQu7nBvd+OXaK12aChuHQZVj95Wl9+DKbmKNTXa601spVFC4XBQKO3Ano/i2U/j9p07hvdsqWEmbCkRzilnG0mbXadLj+TQrsM6xfqE//BAcOZ1T/QQGfPBfg+MoQUAGc3PjUAC+ZPpt0TBgbIoxHQ05ht1JRxG3oAaTyiTRtAZeS+XN2FJt/Vp17NDl5jQw0aO3g5GKcLpluIyfhy40TgwmcKjX+NgUhA+ZYIVANnFuBhBdSwSpSibpnkerdTKMnRrCCDGyGwrVLOrdrAUSiegagWjY1cbj2RZIxNRqACpaZmRrFSHmEoO9t++JYe47M4yti+1hNPX2mTOtA0oeHNZaIDLN2hKIKlipHz4jUcNdRf5gdyIQG6dFJ8e+S3B//6A/+d7S0r8Va2tLS2UOp6/EhoTApZGlCtEKo/92DQ3UpnHIAzep5KIl+HzyiCL9IHo/lLRaXAV/a2sJHyQS8fjkvevRaBT1CwFm2PznyJGZe5P4bw/kMpCTf+DX5HLFXGZ1lS84CFdXLZjlIT9uS8Zer71S9KGkzSdKLbTRR/DQfiNYEwtev93AmDqO93e5utGxYP78Sin65+Xk+rhTFTYNx76zSrYs1gZ2JQv18nmp+KEiI36jupDOXTvxmX89Q/hAIofrT0ZrGNeNNTdL/CAfsDARiKaoD9P8H3tnG9PWecXxfADZ2xQLrPlD7M1C3bUYGqQetKtTiYQIm06gZIGNxgYGiQN0FtyEmUCdgEBLgUCJxcuSlKRklwV3iQwhBRpCsiwLVMNlS7KkBpFqVCjbokRKlXzYPm3dy/+c516bdKk0VVU+8W+492KoX8Tze87/nPPce9d9vtYAee+9WI7G7oo2DIoIIusKZ1DvtT/09LvdVaFw7XNY0bMxq+oSsm0wkYR5f0iqp9UnPkKBJjpgAQGQeh0jg40OQ5qvGysa7xj/Om6iYAhXR5aXl7PReMGLpISXlSGfHlcAxh8ctRptTmbzoZ7PaBWE8DaOkbpXLQqgZIEqgRV2dETMwd7defxYUUIPZNnp5H7oOCSTolFFVpQ7koQqHQ90k3gpi4kOEgEoHjSZiBDQQ6zYwAwN6ETeJBIf/B6NxISRa7Ji8UfSUCCiZOTmpuAlZCUAr9XTc/duIOCr2rvpt2/mOyULE0LSi61wThC8EyOm48qulpTbGBCQSuyvZ0CqMINx94P4wGcrptLuDIUPnvgg7GOzXwyAfBTXPweANUDee+rjcUBQnofNQiaSkz7ldntbXCklG6CSrKrTICRVR4BIvjrIB0CSoNjg1CGCwGfQo+i3Awme461UgLGq54Wi5BKIRDNTij3tf2pv37Rjjz07W4lIOhNzYIGQ9pNwRP8vzAzxge8wMzMgJD5NiAVA6DGCkkV2ngEhx2a1oh4k3YEiijw+7vIE/f5+d0PDW6+iyjoanJvrAS8yFBkKhAI+C+qpNpNNDH0TXljwgSMGBLeEGIGzEfkxUIrJyoAg6UbUo/dJuTMpomRl5czkpCiRQCAgSb7qlrb9yfX4hFWjO978xh6nBDqE9BZ8gQ80YFmmZFHssKi+ircswMEaSdAzH07ZgSyR8sQsJ1RcbJ9hPhgQ/MeiOZDWTcQ1k5v7uQCsRRBNuN3Uk+KqZT4TUrg53W4vn/J6vX5XRkka5AilTkw0XUmW7iSBDw0QSkp4dFKFigEhZyEBEKsKCI8l/DOzNTJIEeWxsnnLWx2iOnWwYcopR5U7xkSTHhyQdCzeY9iY+HFViSTmRYsnGJF6OBIiyswIistEke8y2fDK'
    $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 &= '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

    • Sven-Seyfert
      By Sven-Seyfert
      Hi Community,

      I'm looking for a way to do a Video Overlay GUI or something like that. The idea is to create a GUI which plays a video loop (with transparency/alpha channel) in front of an other GUI. Before you asking why - because I don't believe that GDIPlus can do it out of the box. My skillset for that kind of graphical things isn't good enough to do that, but here are some specialist like @UEZ maybe who can help.

      Example alpha channel video (visualized as animated *.gif):

      I tried to do the light rays effect directly with GDIPlus, but honestly that's a bit too difficult for me. I would be very glad and grateful if there are some suggestions, ideas or recommendations.

      Code for the Video play:
       
      Example video "End.mpeg":
       
      The next challenge is that the overlay GUI should be not clickable. If I hover over the overlay area, I want to have the possibility to control the GUI or what ever, in the background. But if there is any chance to make it with GDIPlus as a Video Overlay for light rays, I would prefer that approach instead of my crazy work-around idea.

      Thanks for any suggestion - I'm grateful!
      Sven
    • c.haslam
      By c.haslam
      I had thought that _GDIPlus_ImageClone($hImage) removes all property items, but I now know that it copies property items.
      What is the easiest way of copying an image that has property items to another image that does not have property items?
    • c.haslam
      By c.haslam
      I think that _GDIPlus_ImageGetPropertyItem should return a Property Item that can readily be set as a property of another image. Why would one want to do this? A script might (as one of mine does) edit an image of a .jpg file then write the result to a .jpg file. In editing it, in my case, the number of horizontal and vertical pixels change, and the date/time edited should be set as a property. All other property items remain the same. Other GDI+ users may change other properties.
      So an approach is to copy all the property items from image1 to image2, then update a few properties.
      M$ provides a Property Item class (id, length, pointer to an array of values) but _GDIPlus_ImageGetPropertyItem returns something different.
      I think that, wherever reasonable, UDFs that are wrappers for M$ methods should work like M$'s methods. _GDIPlus_ImageGetPropertyItem does not do this:
      While M$ returns 2 values for a value that is a ratio of 2 numbers,  _GDIPlus_ImageGetPropertyItem returns numerator/denominator as a single value (often a Double). _GDIPlus_ImageSetPropertyItem (when included in GDIPlus.au3) will be unable to set ratio property items properly because it cannot know what the numerator and denominator are. So copying such property items will not work properly. M$ has a Void* buffer where the buffer is an array of values but _GDIPlus_ImageGetPropertyItem() returns the values in the same 1-d array as id, length and type. M$'s approach produces a 1-d array with the same number of elements for all property items while _GDIPlus_ImageGetPropertyItem produces a 1-d array with various numbers of elements. To me, this is not good programming practice. For a photo from a Sony camera, the worst case has 1-d array with 67 elements. When combined into a 2-d array with the property items of all properties, there are 66 rows and 67 columns, with many elements not used. So I suggest that _GDIPlus_ImageGetPropertyItem look like this:
      ; #FUNCTION# ==================================================================================================================== ; Name ..........: cGDIPlus_ImageGetPropertyItem ; Description ...: Gets a specified property item (piece of meta data) from an Image object ; Syntax ........: cGDIPlus_ImageGetPropertyItem($hImage, $iPropID) ; Parameters ....: $hImage - Pointer to an image object ; $iPropID - Identifier of the property item to be retrieved ; Return values .: Success: Array containing the values of the property item ; [0] - identifier ; [1] - size, in bytes, of the value array ; [2] - type of value(s) in the value array ; [3] - value array ; Failure: Sets the @error flag to non-zero, @extended may contain GPSTATUS error code ($GPID_ERR*). ; Author ........: Eukalyptus ; Modified ......: c.haslam ; Remarks .......: types: unsigned byte = 1, ASCII string = 2, unsigned short = 3, unsigned long = 4, ; unsinged rational = 5, undefined = 7, signed long = 9, signed rational = 10 ; Related .......: _GDIPlus_ImageGetPropertyIdList ; Link ..........: https://msdn.microsoft.com/en-us/library/windows/desktop/ms535390(v=vs.85).aspx, ; https://msdn.microsoft.com/en-us/library/windows/desktop/ms534493(v=vs.85).aspx, ; https://msdn.microsoft.com/en-us/library/windows/desktop/ms534414(v=vs.85).aspx ; Example .......: Yes ; =============================================================================================================================== Func cGDIPlus_ImageGetPropertyItem($hImage, $iPropID) Local $iSize = __GDIPlus_ImageGetPropertyItemSize($hImage, $iPropID) If @error Then Return SetError(@error, @extended, -1) Local $tBuffer = DllStructCreate("byte[" & $iSize & "];") Local $pBuffer = DllStructGetPtr($tBuffer) Local $aResult = DllCall($__g_hGDIPDll, "int", "GdipGetPropertyItem", "handle", $hImage, "uint", _ $iPropID, "uint", $iSize, "struct*", $tBuffer) If @error Then Return SetError(@error, @extended, -1) If $aResult[0] Then Return SetError(10, $aResult[0], False) Local $tPropertyItem = DllStructCreate("int id; int length; short type; ptr pvalue;", $pBuffer) Local $iBytes = DllStructGetData($tPropertyItem, "length") Local $pValue = DllStructGetData($tPropertyItem, "pvalue") Local $aRet[4] Local $type = DllStructGetData($tPropertyItem,'type') Local $tValues, $iValues Switch $type Case 2 ;ASCII String $iValues = 1 $tValues = DllStructCreate("char[" & $iBytes & "];", $pValue) Case 3 ;Array of UShort $iValues = Int($iBytes / 2) $tValues = DllStructCreate("ushort[" & $iValues & "];", $pValue) Case 4, 5 ;Array of UInt / Fraction $iValues = Int($iBytes / 4) $tValues = DllStructCreate("uint[" & $iValues & "];", $pValue) Case 9, 10 ;Array of Int / Fraction $iValues = Int($iBytes / 4) $tValues = DllStructCreate("int[" & $iValues & "];", $pValue) Case Else ;Array of Bytes $iValues = 1 $tValues = DllStructCreate("byte[" & $iBytes & "];", $pValue) EndSwitch $aRet[0] = DllStructGetData($tPropertyItem,'id') $aRet[1] = $iBytes $aRet[2] = $type Local $aVals[$iValues] If $type=2 Or $type=7 Then ; ASCII string or undefined $aVals[0] = DllStructGetData($tValues,1) Else For $i = 0 To $iValues-1 $aVals[$i] = DllStructGetData($tValues,1,$i+1) Next EndIf $aRet[3] = $aVals Return $aRet EndFunc And here is an example:
      #include <GDIPlus.au3> #include <Array.au3> Example() Func Example() _GDIPlus_Startup() Local $hImage = _GDIPlus_ImageLoadFromFile(RegRead((@AutoItX64 = True ? "HKLM\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt" : "HKLM\SOFTWARE\AutoIt v3\AutoIt"), "InstallDir") & "\Examples\GUI\Torus.png") If @error Then _GDIPlus_Shutdown() MsgBox(16, "", "An error has occured - unable to load image!", 30) Return False EndIf Local $ar = _GDIPlus_ImageGetPropertyIdList($hImage) Local $vPropNbrs[UBound($ar,1)-1] ; Extract ID numbers For $i = 1 To UBound($ar,1)-1 $vPropNbrs[$i-1] = $ar[$i][0] Next ; Get all property items Local $aPropItems[UBound($vPropNbrs)][4],$vPropItem For $i = 0 To UBound($vPropNbrs)-1 $vPropItem = cGDIPlus_ImageGetPropertyItem($hImage,$vPropNbrs[$i]) For $j = 0 To 3 $aPropItems[$i][$j] = $vPropItem[$j] Next Next ; Collapse values arrays so _ArrayDisplay can display them Local $ar = $aPropItems For $i = 0 To UBound($aPropItems,1)-1 $ar[$i][0] = '0x'&Hex($ar[$i][0],4) $ar[$i][3] = '' For $j = 0 To UBound($aPropItems[$i][3])-1 $ar[$i][3] &= ($aPropItems[$i][3])[$j]&'|' Next $ar[$i][3] = StringTrimRight($ar[$i][3],1) Next _ArrayDisplay($ar) _GDIPlus_Shutdown() EndFunc Unfortunately this example (based on one now in the Help) does not exercise most of the item types, but I do not know of a file with EXIF metadata that is on most PCs. I have tested this code by updating and adding property items to torus.jpg and to a photo taken by a Sony camera. The code for implementing and calling _GDIPlus_ImageSetPropertyItem will be fairly simple [see below].
       
      Your thoughts?
       
    • c.haslam
      By c.haslam
      I have a strange symptom of a problem somewhere in my code, or in a UDF: when I add code to get all properties of a GDI+ image to a 6000-line script,  the variable type of a parameter is reported as a pointer when the caller clearly has this argument as a string. If I comment out my code that gets the properties, the function properly sees the parameter as a string.
      [Edit: The reporting as a pointer and getting image properties are miles apart, both in where they are in the script code and in where they are run.]
      At this point, I am looking for clues as to why this is happening, so the hunt is on!
      I have noticed one odd thing, in _GDIPlus_ImageGetPropertyIdList() I see a line that begins Local $sPropertyTagInfo = . This "line" is split into 2 lines. SCiTE shows that the first line is 2454 characters and the second 2400. Adding these numbers I get 4854 characters.
      But the Help for AutoIt3 Limits/defaults says that MAXLINESIZE, Maximum size for a line of script, is 4096 characters.
      The line would exceed the limit if AutoIt considers the subject line to be 1 line and not 2 lines.
      My question: is this line legal? Is buffer overun possible?
    • c.haslam
      By c.haslam
      I find _GDIPlus_ImageClone in the Help, but neither in SciTe auto-complete nor in GDIPlus.au3
      Shoud this be reported in Trac?
      By searching the forum (and changing the name of the first arguement ot DLLCall, the code appears to be:
      Func _GDIPlus_ImageClone($hImage) Local $aResult = DllCall($__g_hGDIPDll, "uint", "GdipCloneImage", "handle", $hImage, "int*", 0) If @error Then Return SetError(@error, @extended, 0) Return $aResult[2] EndFunc ;==>_GDIPlus_ImageClone  
×