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 &= '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 &= '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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 &= 'V0u3RvBRLAJkjezQupUASOiqSUoQIG/zkUi7bneObPtmgx8QjX/UBFWsCxZL3wO6bFNCOtC410CTvcfBh/2ESa/UaJLWcbkBmVWEiKeUGoUKnW7cgdEqHmLBI3Q2EiBCiPWOPogW/sNYAEDoTNX+U0XHy8xmB0IsvTJVFCDYScfftI4AyewCIaXndl8mO4ChNPIj9+719V26dPG0DxDcxSJAtqEptAAQlp5XfESAHK0I/6DOnueWSA69n0ISbNE5G6PXvM8AeW+5+AiFWL7j1b4Q6/woC7H4QV6UV3jH8MsjafAgEQsBASFoFEIM4/79/L5TkIEmlfTpj89fvUp4bM/rQD1VIyehADwUsqUer5atlkqcBEghAVL/NiCYNbF5GCBUcl0AiNWgg/9wuY73I8ICUKcuNJQZzSQk6FV+huvBYmax4qyIrqzXnGPRcTk7Skt//etz50j94MCBLWQWsvTcY+ik7yx5ByA4+zMeAEQQKQQga+vaznWxfRBh1ASAMPGH5bNQFSsACKpYuRe3jE6t8l38oQq9AMjNIwIg7y0EBMEDPRHQw0BgxUTSIQ7ChKC3l5YqcHJEBj5IzG/pGoUEyDUN7jXAHPVlCLHYA/8EIZPd7rKZ9MVJ0kWASOWblQDE3tZ5vH9msucRgCpqeFhgBCB3vPAgJIEgEaMBnZGTIbwv/VsYENnNCDmAn2PH8KHs/nsGCOuk+0IsHio5RwpbKxJhVMAijUJyIR9BBaGusvRbaVhMCoz0D5gHASDL6T5CVaxoXuddzQAZ3lIzhSqW3xYBEhYW1El/kA8PcmD3gWOWaRz1ILt8AM/JXtj2c//L3rkGRX2mWRxo09CCeGsa0DB0o7Vyv2fBNJck0qOEYRKMXG2BACpQcglIIyhCDMIS5XoRRINxdTqJhQSGaBiZiUQTR8yauInoTHYnViIZa2Zq3KR2alK7n/Y87/vS3Yqp2qnKvzsf+qmoPVXwrX9z3vNcn32n0OEHCFclAyQqSdfZ2dmOpFTeDAdk0jCE4aSe7HA1AEE8CIh3WJSuB4nXwdG8GQBCBqlxuqhm5PKOHaf/Atcip4GpHyZeeOERCL1c+PJFAoQRwpoV5wEhBZkHBP4DhAAQuoWw7gFAKIuFfUwyTpUNw14HIUAozRuUPNVtBkQICeV4f1tW9tn3ADJnfOn5lwGCdFHKAImM0gGQKwVZOEYyD0jLUJden1WHiSkfMrGWaV6y9ePZVd1DAIQsy4dESF4LAGlv79SFh4T5M0CkjA3PEiB8e9hcPwAxmfSOWlIQZvIgGyCEHyqsZoDQAR0AwmfS4wK9ZLZ16HZALK7cBl1kgKxwtwAEEgKLzgBxUmi1AhDLNO9L4ENSQFBM9gnNT8f76kpBQUVLHhUaEHgzjRZhfK8uWB3rAw/7ICDKgPz07JHuCgNZFqRduYQU6a9VYSYkmAMikxSQGA4IRQpSvuYslrwjH4BQEYQEhAGCIEDIgzghi8X4CAIgS7285Lbnw64gcXECECMAWbVKECIw4YDAg9ART5kFIO+lprI6yPMOUgMi94lVU5tJQUGWqIIgoAiXRouKKsoTosK8H75RKAdSuSPlqOBNTzI+ICGw9YY3kPfqyU4ItwYgjyebAEntj+4WgGARt19+rg69WAgGCN3wZIemGCBaR4VY7k4K4uaqZOuWbBt2BQEg1M0LQNb+btVjj7FtAqZ4/fUTHBAksWQyEyDvpaSmpm4ew9IG6QHxjgzJze4BH/rBS5S0pe/72eOw3S2GofK08Aix5coMCCGVUEfr1ifuzJwSgMC1FLUiMdyTEEyAyKQF5BUOCCGSMkeAlBEgbFM9AbKW78SCeogrU4jm7sSNMscmDb8CHSQAkdn4xpRdQcyATBEgP/nJY6ssALE06ZaApGwGIHMw6eslBqSJxkFCgrMLqKqBTsBTAIQImcU2RyySZ4A4PQSIExQkoaYI69bROIjGDwFIS5E+KwsNjuNqUhCVpIA8LQBJwZ850xOL'
    $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 &= '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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

    • RyukShini
      Image quality is bad compared to paint
      By RyukShini
      #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=car.ico #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <GDIPlus.au3> #include <File.au3> #include <Array.au3> #include <ColorConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <ProgressConstants.au3> ; Declare array Dim $Images[1] ; Gets all JPG files in the current directory (@ScriptDir). Local $search = FileFindFirstFile("*.jpg") ; Check if the search was successful If $search = -1 Then MsgBox(0, "Error", "No JPG files could be found.") Exit EndIf ; Resize array While 1 If IsArray($Images) Then Local $Bound = UBound($Images) ReDim $Images[$Bound+1] EndIf $Images[$Bound] = FileFindNextFile($search) If @error Then ExitLoop WEnd ; Close the search handle FileClose($search) ; Create directory "resized" if not there yet $nymappe = InputBox("Mappe / Bil Navn", "Mappe / Bil Navn") If NOT FileExists(@ScriptDir & "\" & $nymappe & "\") Then DirCreate(@ScriptDir & "\" & $nymappe & "\") EndIf ; Loop for JPGs - gets dimension of JPG and calls resize function to resize to 50% width and 50% height For $i = 1 to Ubound($Images)-1 If $Images[$i] <> "" AND FileExists(@ScriptDir & "\" & $Images[$i]) Then Local $ImagePath = @ScriptDir & "\" & $Images[$i] _GDIPlus_Startup() Local $hImage = _GDIPlus_ImageLoadFromFile($ImagePath) Local $ImageWidth = _GDIPlus_ImageGetWidth($hImage) Local $ImageHeight = _GDIPlus_ImageGetHeight($hImage) _GDIPlus_ImageDispose($hImage) _GDIPlus_Shutdown() ;MsgBox(0,"DEBUG", $ImageWidth & " x " & $ImageHeight) Local $NewImageWidth = ($ImageWidth / 100) * 15 Local $NewImageHeight = ($ImageHeight / 100) * 15 ;MsgBox(0,"DEBUG: " & $i,$Images[$i]) _ImageResize(@ScriptDir & "\" & $Images[$i], @ScriptDir & "\" & $nymappe & "\" & $Images[$i], $NewImageWidth, $NewImageHeight) EndIf Next ; Resize function Func _ImageResize($sInImage, $sOutImage, $iW, $iH) Local $hWnd, $hDC, $hBMP, $hImage1, $hImage2, $hGraphic, $CLSID, $i = 0 ;OutFile path, to use later on. Local $sOP = StringLeft($sOutImage, StringInStr($sOutImage, "\", 0, -1)) ;OutFile name, to use later on. Local $sOF = StringMid($sOutImage, StringInStr($sOutImage, "\", 0, -1) + 1) ;OutFile extension , to use for the encoder later on. Local $Ext = StringUpper(StringMid($sOutImage, StringInStr($sOutImage, ".", 0, -1) + 1)) ; Win api to create blank bitmap at the width and height to put your resized image on. $hWnd = _WinAPI_GetDesktopWindow() $hDC = _WinAPI_GetDC($hWnd) $hBMP = _WinAPI_CreateCompatibleBitmap($hDC, $iW, $iH) _WinAPI_ReleaseDC($hWnd, $hDC) ;Start GDIPlus _GDIPlus_Startup() ;Get the handle of blank bitmap you created above as an image $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP ($hBMP) ;Load the image you want to resize. $hImage2 = _GDIPlus_ImageLoadFromFile($sInImage) ;Get the graphic context of the blank bitmap $hGraphic = _GDIPlus_ImageGetGraphicsContext ($hImage1) ;Draw the loaded image onto the blank bitmap at the size you want _GDIPLus_GraphicsDrawImageRect($hGraphic, $hImage2, 0, 0, $iW, $iH) ;Get the encoder of to save the resized image in the format you want. $CLSID = _GDIPlus_EncodersGetCLSID($Ext) ;Generate a number for out file that doesn't already exist, so you don't overwrite an existing image. Do $i += 1 Until (Not FileExists($sOP & $i & "_" & $sOF)) ;Prefix the number to the begining of the output filename $sOutImage = $sOP & $i & "_" & $sOF ;Save the new resized image. _GDIPlus_ImageSaveToFileEx($hImage1, $sOutImage, $CLSID) ;Clean up and shutdown GDIPlus. _GDIPlus_ImageDispose($hImage1) _GDIPlus_ImageDispose($hImage2) _GDIPlus_GraphicsDispose ($hGraphic) _WinAPI_DeleteObject($hBMP) _GDIPlus_Shutdown() EndFunc Quality gets quite bad compared to using Paint / Photoshop when resizing with GDIPlus
      Any idea how to make the quality better?
      Thanks in advance
    • DrAhmed
      [SOLVED] Convert Bitmap image to JPG in memory
      By DrAhmed
      Hey
      I'm not really familliar with GDI Plus , I am looking for how tocConvert a bitmap image to JPG in memory without saving it to disk
      Because I want to send it later via TCP directly without using FileRead and other stuff ..
      The only function I found is below but it saves the image in disk
      Func SaveBmp2JPG($Bitmap, $sSave = "Converted.jpg", $iQuality = 20) ;coded by UEZ 2013 If Not IsPtr($Bitmap) Then $Bitmap = _GDIPlus_ImageLoadFromFile($sFile) If @error Then Return SetError(1, 0, 0) EndIf Local $sCLSID = _GDIPlus_EncodersGetCLSID("JPG") Local $tParams = _GDIPlus_ParamInit(1) Local $tData = DllStructCreate("int Quality") Local $pData = DllStructGetPtr($tData) Local $pParams = DllStructGetPtr($tParams) DllStructSetData($tData, "Quality", $iQuality) _GDIPlus_ParamAdd($tParams, $GDIP_EPGQUALITY, 1, $GDIP_EPTLONG, $pData) If Not _GDIPlus_ImageSaveToFileEx($Bitmap, $sSave, $sCLSID, $pParams) Then Return SetError(2, 0, 0) Return True EndFunc what my code now looks like :
      #include <ScreenCapture.au3> #include <guiconstantsex.au3> #include <gdiplus.au3> #include <memory.au3> #include <staticconstants.au3> Global $ghGDIPDLL = $__g_hGDIPDll Example() Func Example() _GDIPlus_Startup() Local $hHBmp = _ScreenCapture_Capture("") ;create a GDI bitmap by capturing my desktop Local $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hHBmp) ;convert GDI bitmap to GDI+ bitmap _WinAPI_DeleteObject($hHBmp) ;release GDI bitmap resource because not needed anymore Local $hBitmap_Scaled2 = _GDIPlus_ImageResize($hBitmap, @DesktopWidth / 1.5, @DesktopHeight / 1.5) ;resize image SaveBmp2JPG($hBitmap_Scaled2,'Test.jpg',99) ; ===> Saving to disk ?? _GDIPlus_Shutdown() EndFunc ;==>Example Func SaveBmp2JPG($Bitmap, $sSave , $iQuality) ;coded by UEZ 2013 If Not IsPtr($Bitmap) Then $Bitmap = _GDIPlus_ImageLoadFromFile($sFile) If @error Then Return SetError(1, 0, 0) EndIf Local $sCLSID = _GDIPlus_EncodersGetCLSID("JPG") Local $tParams = _GDIPlus_ParamInit(1) Local $tData = DllStructCreate("int Quality") Local $pData = DllStructGetPtr($tData) Local $pParams = DllStructGetPtr($tParams) DllStructSetData($tData, "Quality", $iQuality) _GDIPlus_ParamAdd($tParams, $GDIP_EPGQUALITY, 1, $GDIP_EPTLONG, $pData) If Not _GDIPlus_ImageSaveToFileEx($Bitmap, $sSave, $sCLSID, $pParams) Then Return SetError(2, 0, 0) Return True EndFunc  
    • DHL
      Problems comparing two (in memory) bitmaps using memcmp
      By DHL
      Hi, 
      I'm trying to compare two bitmaps (screenshots of the desktop) that I create using BitBlt. The bitmaps can be successfully saved to disk, but when I run the two bitmaps through a CompareBitmaps()-function I found in this thread, which calls memcmp, the script crashes with "Exit code: -1073741819". 
      This crash only happens when I try to compare bitmaps that I got by using BitBlt. If I use the CompareBitmaps()-function on bitmaps created by _GDIPlus_ImageLoadFromFile, everything works fine. (I'm using AutoIT 3.3.6.1)
      I'll attach my script that crashes, and the  CompareBitmaps() example script that works (which I got from the thread previosly mentioned)
      My script, that for some reason crashes : 
      #include <ScreenCapture.au3> #include <GDIPlus.au3> #include <WinAPI.au3> _GDIPlus_Startup() Local $hDesktop = _WinAPI_GetDesktopWindow() $clientS = WinGetClientSize($hDesktop) Local $Width = $clientS[0] Local $Height = $clientS[1] Local $hDC = _WinAPI_GetDC($hDesktop) Local $memDC = _WinAPI_CreateCompatibleDC($hDC) Local $memBmp = _WinAPI_CreateCompatibleBitmap($hDC, $Width, $Height) _WinAPI_SelectObject ($memDC, $memBmp) _WinAPI_BitBlt($memDC, 0, 0, $Width, $Height, $hDC, 0,0, $__SCREENCAPTURECONSTANT_SRCCOPY) _WinAPI_DeleteDC($memDC) _WinAPI_ReleaseDC($hDesktop, $hDC) Local $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP($memBmp) _WinAPI_DeleteObject($memBmp) _GDIPlus_ImageSaveToFile($hImage1, @ScriptDir & "\GDIPlus_Image1.jpg") MsgBox(0, "Debug", "Screenshot taken & saved to disk. Ready to take new screenshot" ) Local $hDC2 = _WinAPI_GetDC($hDesktop) Local $memDC2 = _WinAPI_CreateCompatibleDC($hDC2) Local $memBmp2 = _WinAPI_CreateCompatibleBitmap($hDC2, $Width, $Height) _WinAPI_SelectObject ($memDC2, $memBmp2) _WinAPI_BitBlt($memDC2, 0, 0, $Width, $Height, $hDC2, 0,0, $__SCREENCAPTURECONSTANT_SRCCOPY) _WinAPI_DeleteDC($memDC2) _WinAPI_ReleaseDC($hDesktop, $hDC2) Local $hImage2 =_GDIPlus_BitmapCreateFromHBITMAP($memBmp2) _WinAPI_DeleteObject($memBmp2) _GDIPlus_ImageSaveToFile($hImage2, @ScriptDir & "\GDIPlus_Image2.jpg") MsgBox(0, "Debug", "Screenshot2 taken & saved to disk. Ready to compare images (from memory)" ) MsgBox(0, "bm1==bm2", CompareBitmaps($hImage1, $hImage2) ) ; Clean up resources _GDIPlus_ImageDispose($hImage1) _GDIPlus_ImageDispose($hImage2) ; Shut down GDI+ library _GDIPlus_ShutDown () Func CompareBitmaps($bm1, $bm2) $Bm1W = _GDIPlus_ImageGetWidth($bm1) $Bm1H = _GDIPlus_ImageGetHeight($bm1) $BitmapData1 = _GDIPlus_BitmapLockBits($bm1, 0, 0, $Bm1W, $Bm1H, $GDIP_ILMREAD, $GDIP_PXF32RGB) $Stride = DllStructGetData($BitmapData1, "Stride") $Scan0 = DllStructGetData($BitmapData1, "Scan0") $ptr1 = $Scan0 $size1 = ($Bm1H - 1) * $Stride + ($Bm1W - 1) * 4 $Bm2W = _GDIPlus_ImageGetWidth($bm2) $Bm2H = _GDIPlus_ImageGetHeight($bm2) $BitmapData2 = _GDIPlus_BitmapLockBits($bm2, 0, 0, $Bm2W, $Bm2H, $GDIP_ILMREAD, $GDIP_PXF32RGB) $Stride = DllStructGetData($BitmapData2, "Stride") $Scan0 = DllStructGetData($BitmapData2, "Scan0") $ptr2 = $Scan0 $size2 = ($Bm2H - 1) * $Stride + ($Bm2W - 1) * 4 $smallest = $size1 If $size2 < $smallest Then $smallest = $size2 $call = DllCall("msvcrt.dll", "int:cdecl", "memcmp", "ptr", $ptr1, "ptr", $ptr2, "int", $smallest) _GDIPlus_BitmapUnlockBits($bm1, $BitmapData1) _GDIPlus_BitmapUnlockBits($bm2, $BitmapData2) Return ($call[0]=0) EndFunc ;==>CompareBitmaps  
      Example Script (that basically does the same thing, but works fine)
      #include <GDIPlus.au3> _GDIPlus_Startup() $fname1=FileOpenDialog("First image","","All images(*.bmp;*.jpg;*.png;)") If $fname1="" Then Exit $fname2=FileOpenDialog("Second image image","","All images(*.bmp;*.jpg;*.png;)") If $fname2="" Then Exit $bm1 = _GDIPlus_ImageLoadFromFile($fname1) $bm2 = _GDIPlus_ImageLoadFromFile($fname2) MsgBox(0, "bm1==bm2", CompareBitmaps($bm1, $bm2)) _GDIPlus_ImageDispose($bm1) _GDIPlus_ImageDispose($bm2) _GDIPlus_Shutdown() Func CompareBitmaps($bm1, $bm2) $Bm1W = _GDIPlus_ImageGetWidth($bm1) $Bm1H = _GDIPlus_ImageGetHeight($bm1) $BitmapData1 = _GDIPlus_BitmapLockBits($bm1, 0, 0, $Bm1W, $Bm1H, $GDIP_ILMREAD, $GDIP_PXF32RGB) $Stride = DllStructGetData($BitmapData1, "Stride") $Scan0 = DllStructGetData($BitmapData1, "Scan0") $ptr1 = $Scan0 $size1 = ($Bm1H - 1) * $Stride + ($Bm1W - 1) * 4 $Bm2W = _GDIPlus_ImageGetWidth($bm2) $Bm2H = _GDIPlus_ImageGetHeight($bm2) $BitmapData2 = _GDIPlus_BitmapLockBits($bm2, 0, 0, $Bm2W, $Bm2H, $GDIP_ILMREAD, $GDIP_PXF32RGB) $Stride = DllStructGetData($BitmapData2, "Stride") $Scan0 = DllStructGetData($BitmapData2, "Scan0") $ptr2 = $Scan0 $size2 = ($Bm2H - 1) * $Stride + ($Bm2W - 1) * 4 $smallest = $size1 If $size2 < $smallest Then $smallest = $size2 $call = DllCall("msvcrt.dll", "int:cdecl", "memcmp", "ptr", $ptr1, "ptr", $ptr2, "int", $smallest) _GDIPlus_BitmapUnlockBits($bm1, $BitmapData1) _GDIPlus_BitmapUnlockBits($bm2, $BitmapData2) Return ($call[0]=0) EndFunc ;==>CompareBitmaps  
      Any one got a clue why my script crashes? 
    • Edie
      Refreshing _GDIPlus_GraphicsDrawImageRect
      By Edie
      I'm using this method to draw a transparent image inside my window. It works, but not as expected. With that example - without minimize button or anything else and the _GDIPlus_GraphicsDrawImageRect inside the main loop -, it works, but when you need to refresh the window, like restoring it after minimized or when you drag some window above your autoit window, the draw just gone. How can I refresh the image, for example, when I display one MsgBox and minimize and restore the window with the MsgBox opened?
      Try the example below. Run the script and the image will show, then minimize and restore. Then click on the button, keep the MsgBox opened, minimize and restore... The image just disappears. How can I keep it?
      teste.au3
    • cabrunco
      _GDIPlus_GraphicsDispose for an array of graphics
      By cabrunco
      Dear all, suppose I define an array of graphics using _GDIPlus_GraphicsCreateFromHWND. At the end of the script, when calling _GDIPlus_GraphicsDispose, is it ok to pass the array as an argument, or do I need to write a loop for each array element? For example:
      _GDIPlus_GraphicsDispose($GraphsArray) 
       
      OR
       
      For $i 0 to 10
          _GDIPlus_GraphicsDispose($GraphsArray[$i])
      Next
      I did both and can see no difference. In fact, if I do not call _GDIPlus_GraphicsDispose I don't see anything going, to be frank. Thank you for any help,
      Cabrunco