Jump to content

PostStampBuilder


wakillon
 Share

Recommended Posts

The save process takes too long.

I modified your script a little bit:

#NoTrayIcon

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
;~ #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#AutoIt3Wrapper_Icon=C:\ProgramData\PostStampBuilder\Stamp2.ico
#AutoIt3Wrapper_Outfile=PostStampBuilder.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_UPX_Parameters=--best --lzma
#AutoIt3Wrapper_Res_Description=Postage Stamp Builder
#AutoIt3Wrapper_Res_Fileversion=1.0.4
#AutoIt3Wrapper_Res_LegalCopyright=wakillon
#AutoIt3Wrapper_Res_Field='Compiled with'|'AutoIt Version 3.3.14.2'
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/so /pe /rm
#AutoIt3Wrapper_Run_After=del "%scriptfile%_stripped.au3"
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#Region    ;************ Includes ************
#include <WindowsConstants.au3>
#Include <StaticConstants.au3>
#Include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#Include <WinAPIProc.au3>
#include <GDIPlus.au3>
#Include <Misc.au3>
#EndRegion ;************ Includes ************

Opt ( 'GUIOnEventMode', 1 )

#Region ------ Global Variables ------------------------------
Global $hGuiMain, $idLabelPreview, $idButtonSave, $idLabelImageName, $idLabelSize, $idButtonChooseColor, $idComboPerforationsCount
Global $idLabelOriginalSize, $idLabelOutputSize, $aIdRadioType[3], $idLabelDropTxt, $idSliderRescale, $idLabelScale, $idButtonExit, $idButtonOpen
Global $hGuiRef, $hGraphic, $sCurrentFilePath, $iScale, $iSave, $sFileSaveDialog, $aPosBak, $iAdlib, $iOpen, $iChoose, $sFileOpenDialog, $Color
Global $hImage, $hBmp_Buffer, $hGfx_Buffer, $hGraphicPreview, $hClonePreview, $SerratedEdgeColor = 0xFFFFFFFF, $aIdLabelColor[6]
Global $iHCount, $iVCount, $iHWidth, $iVWidth, $iGuiWidth, $iGuiHeight, $iImageWidth, $iImageHeight, $iLabelPreviewSize = 560, $x, $y, $w, $h, $iTriangleMargin = 10, $iPerforationsType = 0
Global $sInstallDir = @HomeDrive & '\ProgramData\PostStampBuilder'
#EndRegion --- Global Variables ------------------------------

#Region ------ Init ------------------------------
AutoItWinSetTitle ( 'P0st.Stamp.Bu1ld3r' )
If _ScriptIsAlreadyRunning() Then Exit
_GDIPlus_Startup()
Stamp2Ico ( 'Stamp2.ico', $sInstallDir )
Choosecolorgif ( 'choosecolor.gif', $sInstallDir )
Saveaspnggif ( 'saveaspng.gif', $sInstallDir )
Opengif ( 'open.gif', $sInstallDir )
Exitgif ( 'exit.gif', $sInstallDir )
_Fluidwatercolorpaperjpg ( 'paper.jpg', $sInstallDir )
Global $hImg = _GDIPlus_ImageLoadFromFile( $sInstallDir & "\paper.jpg")
Global $hTexture_Paper = _GDIPlus_TextureCreate($hImg)
_GDIPlus_ImageDispose($hImg)
_GuiMain()
#EndRegion --- Init ------------------------------

#Region ------ Main Loop ------------------------------
While 1
    If $iSave = 1 Then
        $iSave = 0
        $sFileSaveDialog = FileSaveDialog ( 'Save As PNG', @WorkingDir, 'Image Files (*.png)', 2+16, 'Save.png', $hGuiMain )
        If Not @error Then
            If _FileGetExtByFullPath ( $sFileSaveDialog ) <> 'png' Then $sFileSaveDialog &= '.png'
            _ImageSaveWithTransparency ( $sFileSaveDialog )
            If Not @error Then
;~              ShellExecute ( $sFileSaveDialog )
            Else
                MsgBox ( 262144+16, 'Error', 'Sorry !' & @CRLF & 'An Unknow Error occurred !', 4 )
            EndIf
        EndIf
    EndIf
    If $iOpen = 1 Then
        $iOpen = 0
        $sFileOpenDialog = FileOpenDialog ( 'Select an Image', '', 'Image Files (*.bmp;*.gif;*.jpg;*.png)', 1, '', $hGuiMain )
        If Not @error Then
            Switch _ImageCheck ( $sFileOpenDialog  )
                Case 1
                    If $idLabelDropTxt Then
                        GUICtrlDelete ( $idLabelDropTxt )
                        $idLabelDropTxt = 0
                    EndIf
                    $sCurrentFilePath = $sFileOpenDialog
                    _GuiRef()
                Case 0
                    MsgBox ( 262144+16, 'Error', 'Unsupported File !', 5 )
                Case -1
                    MsgBox ( 262144+16, 'Error', 'Dimensions File are too small !', 5 )
            EndSwitch
        EndIf
    EndIf
    If $iChoose = 1 Then
        $iChoose =0
        _GuiCtrlPicButton_SimulateAction ( $hGuiMain, $idButtonChooseColor )
        $Color = _ChooseColor ( 2, 0, 0, $hGuiMain )
        If $Color <> -1 Then
            $SerratedEdgeColor = '0x' & Hex ( BitOR ( 0xFF000000, $Color ), 8 )
            _GuiRef()
            _ImageDraw()
        EndIf
    EndIf
    Sleep ( 250 )
WEnd
#EndRegion --- Main Loop ------------------------------

Func _ArrayAddEx ( ByRef $avArray, $vValue )
    If Not IsArray ( $avArray ) Then Return SetError ( 1, 0, -1 )
    If UBound ( $avArray, 0 ) <> 1 Then Return SetError ( 2, 0, -1 )
    Local $iUBound = UBound ( $avArray )
    ReDim $avArray[$iUBound + 1]
    $avArray[$iUBound] = $vValue
    Return $iUBound
EndFunc ;==> _ArrayAddEx()

Func _Base64Decode ( $input_string ) ; by trancexx
    Local $struct = DllStructCreate ( 'int' )
    Local $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', 0, 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 )
    If @error Or Not $a_Call[0] Then Return SetError ( 1, 0, '' )
    Local $a = DllStructCreate ( 'byte[' & DllStructGetData ( $struct, 1 ) & ']' )
    $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', DllStructGetPtr ( $a ), 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 )
    If @error Or Not $a_Call[0] Then Return SetError ( 2, 0, '' )
    Return DllStructGetData ( $a, 1 )
EndFunc ;==> _Base64Decode()

Func _FileGetExtByFullPath ( $sFullPath=@ScriptFullPath )
    Local $aFileName = StringSplit ( $sFullPath, '.' )
    If Not @error Then Return $aFileName[$aFileName[0]]
EndFunc ;==> _FileGetExtByFullPath()

Func _FileGetFullNameByFullPath ( $sFullPath )
    Local $aFileName = StringSplit ( $sFullPath, '\' )
    If Not @error Then Return $aFileName[$aFileName[0]]
EndFunc ;==> _FileGetFullNameByFullPath()

Func _GuiCtrlPicButton_RestorePos()
    If Not _IsPressedEx ( '01' ) Then ; wait left mouse button is not pressed.
        If IsArray ( $aPosBak ) Then
            GUICtrlSetPos ( $aPosBak[4], $aPosBak[0], $aPosBak[1], $aPosBak[2], $aPosBak[3] )
            $aPosBak = 0
        EndIf
        $iAdlib = 0
        AdlibUnRegister ( '_GuiCtrlPicButton_RestorePos' )
    EndIf
EndFunc ;==> _GuiCtrlPicButton_RestorePos()

Func _GuiCtrlPicButton_SimulateAction ( $hWnd, $iCtrlId, $iFlag=1 )
    If $iAdlib = 1 Then Return
    Local $aPos = ControlGetPos ( $hWnd, '', $iCtrlId )
    If Not @error Then
        GUICtrlSetPos ( $iCtrlId, $aPos[0]+$iFlag, $aPos[1]+$iFlag, $aPos[2]-2*$iFlag, $aPos[3]-2*$iFlag )
        $aPosBak = $aPos
        _ArrayAddEx ( $aPosBak, $iCtrlId )
        AdlibRegister ( '_GuiCtrlPicButton_RestorePos', 150 )
        $iAdlib = 1
    EndIf
    $aPos = 0
EndFunc ;==> _GuiCtrlPicButton_SimulateAction()

Func _Exit()
    If $hImage Then _GDIPlus_ImageDispose ( $hImage )
    _GDIPlus_GraphicsDispose ( $hGfx_Buffer )
    _GDIPlus_BitmapDispose ( $hBmp_Buffer )
    _GDIPlus_GraphicsDispose ( $hGraphic )
    _GDIPlus_BrushDispose ( $hTexture_Paper )
    _GDIPlus_Shutdown()
    GUIDelete ( $hGuiMain )
    Exit
EndFunc ;==> _Exit()

Func _GuiEvents()
    Switch @GUI_CtrlId
        Case $GUI_EVENT_CLOSE
            _Exit()
        Case $idButtonExit
            _GuiCtrlPicButton_SimulateAction ( $hGuiMain, $idButtonExit )
            Sleep ( 250 )
            _Exit()
        Case $GUI_EVENT_RESTORE
            _ImageDraw()
            If $hClonePreview Then _GDIPlus_GraphicsDrawImageRectRect ( $hGraphicPreview, $hClonePreview, 0, 0, $iGuiWidth, $iGuiHeight, $x, $y, $w, $h )
        Case $GUI_EVENT_DROPPED
            If @GUI_DropId = $idLabelPreview Then
                Switch _ImageCheck ( @GUI_DRAGFILE  )
                    Case 1
                        If $idLabelDropTxt Then
                            GUICtrlDelete ( $idLabelDropTxt )
                            $idLabelDropTxt = 0
                        EndIf
                        $sCurrentFilePath = @GUI_DRAGFILE
                        _GuiRef()
                    Case 0
                        MsgBox ( 262144+16, 'Error', 'Unsupported File !', 5 )
                    Case -1
                        MsgBox ( 262144+16, 'Error', 'Dimensions File are too small !', 5 )
                EndSwitch
            EndIf
        Case $idButtonSave
            _GuiCtrlPicButton_SimulateAction ( $hGuiMain, $idButtonSave )
            If $hImage Then $iSave = 1
            Sleep ( 250 )
        Case $idButtonChooseColor
            $iChoose = 1
        Case $idComboPerforationsCount
            If $hImage Then
                GUICtrlSetOnEvent ( $idComboPerforationsCount, '_NoEvents' )
                GUICtrlSetState ( $idComboPerforationsCount, $GUI_DISABLE )
                _GuiRef()
                _ImageDraw()
                Sleep ( 50 )
                GUICtrlSetState ( $idComboPerforationsCount, $GUI_ENABLE )
                GUICtrlSetOnEvent ( $idComboPerforationsCount, '_GuiEvents' )
                ControlFocus ( $hGuiMain, '', $idComboPerforationsCount )
            EndIf
        Case $aIdRadioType[0], $aIdRadioType[1], $aIdRadioType[2]
            $iPerforationsType = @GUI_CtrlId - $aIdRadioType[0]
            If $hImage Then
                _GuiRef()
                _ImageDraw()
            EndIf
        Case $aIdLabelColor[0] To $aIdLabelColor[5]
            Local $aColor[6] = [0xFFFFFF, 0xFFFF00, 0xFF0000, 0x00FF00, 0x0000FF, 0x000000]
            $SerratedEdgeColor =  '0x' & Hex ( BitOR ( 0xFF000000, $aColor[@GUI_CtrlId - $aIdLabelColor[0]] ), 8 )
            _GuiRef()
            _ImageDraw()
        Case $idSliderRescale
            $iScale = GUICtrlRead ( $idSliderRescale )/100
            If $hImage Then ControlSetText ( $hGuiMain, '', $idLabelOutputSize,  Int ( $iGuiWidth * $iScale ) & 'x' & Int ( $iGuiHeight * $iScale ) )
            ControlSetText ( $hGuiMain, '', $idLabelScale,  StringFormat ( '%03.2f', $iScale ) )
        Case $idButtonOpen
            _GuiCtrlPicButton_SimulateAction ( $hGuiMain, $idButtonOpen )
            $iOpen = 1
            Sleep ( 250 )
    EndSwitch
EndFunc ;==> _GuiEvents()

Func _GuiMain()
    $hGuiMain = GUICreate ( 'PostStampBuilder v1.0.4', 820, 600, -1, -1, -1, $WS_EX_ACCEPTFILES )
    GUISetOnEvent ( $GUI_EVENT_CLOSE, '_GuiEvents' )
    GUISetOnEvent ( $GUI_EVENT_DROPPED, '_GuiEvents' )
    GUISetOnEvent ( $GUI_EVENT_RESTORE, '_GuiEvents' )
    GUISetIcon ( $sInstallDir & '\Stamp2.ico' )
    GUISetBkColor ( 0x444444 )
    ;
    $idLabelSize = GUICtrlCreateLabel ( 'Preview', 20, 1, $iLabelPreviewSize, 18, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    $idLabelPreview = GUICtrlCreateLabel ( '', 20, 20, $iLabelPreviewSize, $iLabelPreviewSize, 0x01 )
    GUICtrlSetState ( -1, $GUI_DROPACCEPTED )
    GUICtrlSetBkColor ( -1, 0xABCDEF )
    GUICtrlSetColor ( -1, 0xF8D381 )
    GUICtrlSetState ( -1, $GUI_DISABLE )
    $hGraphicPreview = _GDIPlus_GraphicsCreateFromHWND ( GUICtrlGetHandle ( -1 ) )
    ;
    $idLabelDropTxt = GUICtrlCreateLabel ( 'Drag && Drop an image here.', 20, $iLabelPreviewSize/3, $iLabelPreviewSize, 40, 0x01 )
    GUICtrlSetFont ( -1, 14, 800 )
    GUICtrlSetBkColor ( -1, 0xABCDEF )
    GUICtrlSetState ( -1, $GUI_DISABLE )
    ;
    $idLabelImageName = GUICtrlCreateLabel ( '', 20, 21 +$iLabelPreviewSize, $iLabelPreviewSize, 18, 0x01 )
    GUICtrlSetFont ( -1, 10, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    GUICtrlCreateLabel ( 'Original Dimension', 600, 20, 200, 20, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    $idLabelOriginalSize = GUICtrlCreateLabel ( '', 600, 40, 200, 20, BitOR ( $SS_SUNKEN, 0x01 ) )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFF00 )
    ;
    GUICtrlCreateLabel ( 'Output Dimension', 600, 70, 200, 20, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    $idLabelOutputSize = GUICtrlCreateLabel ( '', 600, 90, 200, 20, BitOR ( $SS_SUNKEN, 0x01 ) )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFF00 )
    ;
    GUICtrlCreateLabel ( 'Serrated Edges Color', 600, 130, 200, 20, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    Local $aColor[6] = [0xFFFFFF, 0xFFFF00, 0xFF0000, 0x00FF00, 0x0000FF, 0x000000]
    For $i = 0 To 5
        $aIdLabelColor[$i] = GUICtrlCreateLabel ( '', 600+$i*37, 150, 15, 15, $SS_SUNKEN )
        GUICtrlSetOnEvent ( -1, '_GuiEvents' )
        GUICtrlSetBkColor ( -1, $aColor[$i] )
    Next
    ;
    $idButtonChooseColor = GUICtrlCreatePic ( $sInstallDir & '\choosecolor.gif', 600, 175, 200, 24 )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    ;
    GUICtrlCreateLabel ( 'Horizontal Perforation Count', 600, 215, 200, 20, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    $idComboPerforationsCount = GUICtrlCreateCombo ( '', 600, 235, 200, 20, $CBS_DROPDOWNLIST, $WS_EX_RIGHT )
    GUICtrlSetData ( -1, '10|15|20|25|30', '20' )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    GUICtrlSetFont ( -1, 11, 800 )
    ;
    GUICtrlCreateGroup ( ' Perforations Type ', 600, 280, 200, 130 )
    DllCall ( 'UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle ( -1 ), 'wstr', 0, 'wstr', 0 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    Local $aType[3] = ['Rounded', 'Square', 'Triangle']
    For $i = 0 To 2
        $aIdRadioType[$i] = GUICtrlCreateRadio ( ' ' & $aType[$i], 650, 310+$i*30, 100, 20 )
        DllCall ( 'UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle ( -1 ), 'wstr', 0, 'wstr', 0 )
        GUICtrlSetOnEvent ( -1, '_GuiEvents' )
        GUICtrlSetFont ( -1, 11, 800 )
        If Not $i Then GUICtrlSetState ( -1, $GUI_CHECKED )
        GUICtrlSetColor ( -1, 0xFFFFFF )
    Next
    ;
    GUICtrlCreateLabel ( 'Rescale Image      X ', 600, 420, 160, 20, 0x01 )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFFFF )
    ;
    $idSliderRescale = GUICtrlCreateSlider ( 600, 440, 200, 20, BitOR ( 0x0004, 0x0010 ) ) ; $TBS_TOP $TBS_NOTICKS
    GUICtrlSetLimit ( -1, 2.0*100, 0.1*100 )
    GUICtrlSetData ( -1, 1*100 )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    GUICtrlSetBkColor ( -1, 0x444444 )
    ;
    $iScale = GUICtrlRead ( $idSliderRescale )/100
    $idLabelScale = GUICtrlCreateLabel ( StringFormat ( '%03.2f', $iScale ), 760, 420, 40, 20, $SS_SUNKEN, $WS_EX_RIGHT )
    GUICtrlSetFont ( -1, 11, 800 )
    GUICtrlSetColor ( -1, 0xFFFF00 )
    ;
    $idButtonSave = GUICtrlCreatePic ( $sInstallDir & '\saveaspng.gif', 600, 476, 200, 24 )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    ;
    $idButtonOpen = GUICtrlCreatePic ( $sInstallDir & '\open.gif', 600, 516, 200, 24 )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    ;
    $idButtonExit = GUICtrlCreatePic ( $sInstallDir & '\Exit.gif', 600, 556, 200, 24 )
    GUICtrlSetOnEvent ( -1, '_GuiEvents' )
    ;
    GUISetState ( @SW_SHOW, $hGuiMain )
    GUIRegisterMsg ( $WM_PAINT, '_WM_PAINT' )
    GUIRegisterMsg ( $WM_HSCROLL, '_WM_HSCROLL' )
EndFunc ;==> _GuiMain()

Func _GuiRef() ; this hidden gui is the reference for create the preview and for save Image to PNG.
    If Not FileExists ( $sCurrentFilePath ) Then Return
    ControlSetText ( $hGuiMain, '', $idLabelImageName, _FileGetFullNameByFullPath ( $sCurrentFilePath ) )
    If $hImage Then _GDIPlus_ImageDispose ( $hImage )
    $hImage = _GDIPlus_ImageLoadFromFile ( $sCurrentFilePath )
    $iImageWidth = _GDIPlus_ImageGetWidth ( $hImage )
    $iImageHeight = _GDIPlus_ImageGetHeight ( $hImage )
    ControlSetText ( $hGuiMain, '', $idLabelOriginalSize,  $iImageWidth & 'x' & $iImageHeight )
    $iHCount = GUICtrlRead ( $idComboPerforationsCount ) ; Horizontal Perforations count.
    $iVCount = Int ( $iHCount*$iImageHeight/$iImageWidth ) ; Vertical Perforations count.
    Switch $iPerforationsType
        Case 0, 1
            $iHWidth = $iImageWidth/( $iHCount*1.5 -1.5 ) ; Horizontal Perforations Size
            $iVWidth = $iImageHeight/( $iVCount*1.5 -1.5 ) ; Vertical Perforations Size
            $iGuiWidth = Int ( $iImageWidth +2*$iHWidth ) ; gui width for image + Left and right serrated edges
            $iGuiHeight = Int ( $iImageHeight +2*$iVWidth ) ; gui height for image + top and bottom serrated edges
        Case 2
            $iTriangleMargin = Int ( Sqrt ( $iImageWidth +$iImageHeight )/2 )
            ConsoleWrite ( '+->-- [' & StringFormat ( '%03i', @ScriptLineNumber ) & '] $iTriangleMargin : ' & $iTriangleMargin & @Crlf )
            $iHWidth = ($iImageWidth +$iTriangleMargin*2)/( $iHCount ) ; Horizontal Perforations Size
            $iVWidth = ($iImageHeight +$iTriangleMargin*2)/( $iVCount ) ; Vertical Perforations Size
            $iGuiWidth = Int ( $iImageWidth +$iTriangleMargin*2 +$iHWidth ) ; gui width for image + Left and right serrated edges
            $iGuiHeight = Int ( $iImageHeight +$iTriangleMargin*2 +$iVWidth ) ; gui height for image + top and bottom serrated edges
    EndSwitch
    $iScale = GUICtrlRead ( $idSliderRescale )/100
    ControlSetText ( $hGuiMain, '', $idLabelOutputSize,  Int ( $iGuiWidth * $iScale ) & 'x' & Int ( $iGuiHeight * $iScale ) )
    If $hGuiRef Then
        GUISwitch ( $hGuiRef )
        GUIRegisterMsg ( $WM_PAINT, '' )
        _GDIPlus_GraphicsDispose ( $hGfx_Buffer )
        _GDIPlus_BitmapDispose ( $hBmp_Buffer )
        _GDIPlus_GraphicsDispose ( $hGraphic )
        $hGfx_Buffer = 0
        $hBmp_Buffer = 0
        $hGraphic = 0
        GUIDelete ( $hGuiRef )
        $hGuiRef = 0
    EndIf
    $hGuiRef = GUICreate ( '', $iGuiWidth, $iGuiHeight, -1, -1, $WS_POPUP, BitOR ( $WS_EX_TOPMOST, $WS_EX_LAYERED ) )
    _WinAPI_SetLayeredWindowAttributes ( $hGuiRef, 0xFFABCDEF, 255 ) ; set gui transparency
;~  GUISetState()
    GUIRegisterMsg ( $WM_PAINT, '_WM_PAINT' )
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ( $hGuiRef )
    $hBmp_Buffer = _GDIPlus_BitmapCreateFromGraphics ( $iGuiWidth, $iGuiHeight, $hGraphic )
    $hGfx_Buffer = _GDIPlus_ImageGetGraphicsContext ( $hBmp_Buffer )
    _ImagePreviewSet()
EndFunc ;==> _GuiRef()

Func _ImageCheck ( $sFilePath )
    Local $hImage = _GDIPlus_ImageLoadFromFile ( $sFilePath )
    Local $iImageType = _GDIPlus_ImageGetType ( $hImage )
    Local $iImageWidth = _GDIPlus_ImageGetWidth ( $hImage )
    Local $iImageHeight = _GDIPlus_ImageGetHeight ( $hImage )
    _GDIPlus_ImageDispose ( $hImage )
    Switch $iImageType
        Case $GDIP_IMAGETYPE_UNKNOWN
            Return 0
        Case $GDIP_IMAGETYPE_BITMAP ; BMP, PNG, GIF, JPEG, TIFF, ICO, EXIF
            If $iImageWidth < 128 Or $iImageHeight < 128 Then Return -1
            Return 1
        Case $GDIP_IMAGETYPE_METAFILE ; EMF, WMF
            Return 0
    EndSwitch
EndFunc ;==> _ImageCheck()

Func _ImageDraw()
    If Not $hGfx_Buffer Then Return
    If $hImage Then
        Switch $iPerforationsType
            Case 2
                _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth/2 +$iTriangleMargin, $iVWidth/2 +$iTriangleMargin, $iImageWidth, $iImageHeight )
            Case Else
                _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth, $iVWidth, $iImageWidth, $iImageHeight )
        EndSwitch
    EndIf
EndFunc ;==> _ImageDraw()

Func _ImagePreviewSet()
;~  _GDIPlus_GraphicsClear ( $hGfx_Buffer, $SerratedEdgeColor ) ; serrated edges color
    Switch $iPerforationsType
        Case 0
            _PostStampCreateRoundSerration ( $hImage )
        Case 1
            _PostStampCreateRectangleSerration ( $hImage )
        Case 2
            _PostStampCreateTriangleSerration ( $hImage )
    EndSwitch
    If $hClonePreview Then _GDIPlus_ImageDispose ( $hClonePreview )
    $hClonePreview = _GDIPlus_BitmapCloneArea ( $hBmp_Buffer, 0, 0, $iGuiWidth, $iGuiHeight, $GDIP_PXF32ARGB )
    Local $iRatio, $iMargin = 20
    If $iGuiWidth >= $iLabelPreviewSize Or $iGuiHeight >= $iLabelPreviewSize Then
        If $iGuiWidth >= $iGuiHeight Then
            $iRatio = $iLabelPreviewSize/$iGuiWidth
        Else
            $iRatio = $iLabelPreviewSize/$iGuiHeight
        EndIf
    Else
        $iRatio = 1
        $iMargin = 0
    EndIf
    $w = Int ( $iGuiWidth*$iRatio -$iMargin )
    $h = Int ( $iGuiHeight*$iRatio -$iMargin )
    $x = Int ( ( $iLabelPreviewSize - $w )/2 )
    $y = Int ( ( $iLabelPreviewSize - $h )/2 )
    ControlSetText ( $hGuiMain, '', $idLabelSize, 'Preview in ' & $w & 'x' & $h )
    _GDIPlus_GraphicsClear ( $hGraphicPreview, 0xFFABCDEF )
    _GDIPlus_GraphicsDrawImageRectRect ( $hGraphicPreview, $hClonePreview, 0, 0, $iGuiWidth, $iGuiHeight, $x, $y, $w, $h )
EndFunc ;==> _ImagePreviewSet()

Func _ImageSaveWithTransparency ( $sPngFilePath )
    Local $hClone = _GDIPlus_BitmapCloneArea ( $hBmp_Buffer, 0, 0, $iGuiWidth, $iGuiHeight, $GDIP_PXF32ARGB )
    If Not $hClone Then Return SetError ( 1, 0, 0 )
;~  Local $tBitmapData = _GDIPlus_BitmapLockBits ( $hClone, 0, 0, $iGuiWidth, $iGuiHeight, $GDIP_ILMWRITE, $GDIP_PXF32ARGB )
;~  Local $tBuffer = DllStructCreate ( 'byte[' & $iGuiHeight * $iGuiWidth * 4 & ']', DllStructGetData ( $tBitmapData, 'Scan0' ) )
;~  Local $Data = DllStructGetData ( $tBuffer, 1 )
;~  ConsoleWrite ( 'StringLen ( $Data ) : ' & StringLen ( $Data ) & @Crlf )
    Local $hSplash
;~  If StringLen ( $Data ) > 10^7 Then
        ; With High dimensions, SplashText is displayed for avoid to see the main gui not responding...
        $hSplash = SplashTextOn ( 'PostStampBuilder', @CRLF & 'Please Wait' & @CRLF & 'While Saving Image' & @CRLF & 'to PNG...', 500, 300, -1, -1, 0, 'Comic Sans MS', 32, 800 )
        GUISetState ( @SW_HIDE, $hGuiMain )
;~  EndIf
;~  Local $hTimerInit = TimerInit()
;~  Local $sSRER = StringRegExpReplace ( StringTrimLeft ( $Data, 2 ), '(.{8})', '\1 ' )
;~  ConsoleWrite ( '!-->-- [' & @ScriptLineNumber & '] TimerDiff StringRegExpReplace : ' & TimerDiff ( $hTimerInit ) & @Crlf )
;~  Sleep ( 250 )
;~  $hTimerInit = TimerInit()
;~  Local $SRER = StringRegExpReplace ( $sSRER, '(EFCDABFF)', 'EFCDAB00' )
;~  Sleep ( 250 )
;~  DllStructSetData ( $tBuffer, 1, '0x' & StringStripWS ( $SRER, 8 ) )
;~  ConsoleWrite ( '!-->-- [' & @ScriptLineNumber & '] TimerDiff DllStructSetData : ' & TimerDiff ( $hTimerInit ) & @Crlf )
;~  $sSRER = 0
;~  _GDIPlus_BitmapUnlockBits ( $hClone, $tBitmapData )
;~  $tBuffer = 0
;~  $tBitmapData = 0
    $iScale = GUICtrlRead ( $idSliderRescale )/100
    Local $hBitmap_Scaled = _GDIPlus_ImageScale ( $hClone, $iScale, $iScale )
    _GDIPlus_ImageDispose ( $hClone )
    If FileExists ( $sPngFilePath ) Then FileDelete ( $sPngFilePath )
    _GDIPlus_ImageSaveToFileEx ( $hBitmap_Scaled, $sPngFilePath, _GDIPlus_EncodersGetCLSID ( 'PNG' ) ) ; do not use gif!
    _GDIPlus_BitmapDispose ( $hBitmap_Scaled )
    _WinAPI_EmptyWorkingSet()
    Sleep( 500 )
    If $hSplash Then
        SplashOff()
        GUISetState ( @SW_SHOW, $hGuiMain )
    EndIf
    _ImagePreviewSet()
    Return SetError ( @error, 0, FileExists ( $sPngFilePath ) )
EndFunc ;==> _ImageSaveWithTransparency()

Func _IsPressedEx ( $sHexKey )
    Local $aRet = DllCall ( 'user32.dll', 'short', 'GetAsyncKeyState', 'int', '0x' & $sHexKey )
    If @error Then Return SetError ( @error, @extended, False )
    Return BitAND ( $aRet[0], 0x8000 ) <> 0
EndFunc ;==> _IsPressedEx()

Func _LzntDecompress ( $bBinary ); by trancexx
    $bBinary = Binary ( $bBinary )
    Local $tInput = DllStructCreate ( 'byte[' & BinaryLen ( $bBinary ) & ']' )
    DllStructSetData ( $tInput, 1, $bBinary )
    Local $tBuffer = DllStructCreate ( 'byte[' & 16*DllStructGetSize ( $tInput ) & ']' )
    Local $a_Call = DllCall ( 'ntdll.dll', 'int', 'RtlDecompressBuffer', 'ushort', 2, 'ptr', DllStructGetPtr ( $tBuffer ), 'dword', DllStructGetSize ( $tBuffer ), 'ptr', DllStructGetPtr ( $tInput ), 'dword', DllStructGetSize ( $tInput ), 'dword*', 0 )
    If @error Or $a_Call[0] Then Return SetError ( 1, 0, '' )
    Local $tOutput = DllStructCreate ( 'byte[' & $a_Call[6] & ']', DllStructGetPtr ( $tBuffer ) )
    Return SetError ( 0, 0, DllStructGetData ( $tOutput, 1 ) )
EndFunc ;==> _LzntDecompress()

Func _NoEvents()
    ;
EndFunc ;==> _NoEvents()

Func _PostStampCreateRectangleSerration ( $hImage )
    Local Const $hBmp = _GDIPlus_BitmapCreateFromScan0( $iGuiWidth, $iGuiHeight )
    Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext( $hBmp )
;~  _GDIPlus_GraphicsClear( $hCtxt, $SerratedEdgeColor )
    _GDIPlus_GraphicsFillRect( $hCtxt, 0, 0, $iGuiWidth, $iGuiHeight, $hTexture_Paper )
    Local $hBrush = _GDIPlus_BrushCreateSolid ( 0xFFABCDEF )
    Local $hPath = _GDIPlus_PathCreate()
    For $i = 0 To $iHCount -1 ; top & bottom
        _GDIPlus_PathAddRectangle ( $hPath, $iHWidth*( 1.5+3*$i )/2, -$iHWidth/2, $iHWidth/2, $iHWidth )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddRectangle ( $hPath, $iHWidth*( 1.5+3*$i )/2, $iGuiHeight -$iHWidth/2, $iHWidth/2, $iHWidth )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next
    For $i = 0 To $iVCount -1 ; Left & right
        _GDIPlus_PathAddRectangle ( $hPath, -$iVWidth/2, $iVWidth*( 1.5+3*$i )/2, $iVWidth, $iVWidth/2 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddRectangle ( $hPath, $iGuiWidth -$iVWidth/2, $iVWidth*( 1.5+3*$i )/2, $iVWidth, $iVWidth/2 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next

    Local Const $hIA = _GDIPlus_ImageAttributesCreate()
    Local $aRemapTable[2][2]
    $aRemapTable[0][0] = 1
    $aRemapTable[1][0] = 0xFFABCDEF
    $aRemapTable[1][1] = 0x00000000
    _GDIPlus_ImageAttributesSetRemapTable($hIA, 1, True, $aRemapTable)

    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hBmp, 0, 0, $iGuiWidth, $iGuiHeight, 0, 0, $iGuiWidth, $iGuiHeight, $hIA )
    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth, $iVWidth, $iImageWidth, $iImageHeight )
    _GDIPlus_PathDispose ( $hPath )
    _GDIPlus_BrushDispose ( $hBrush )
    _GDIPlus_ImageAttributesDispose( $hIA )
    _GDIPlus_GraphicsDispose( $hCtxt  )
    _GDIPlus_BitmapDispose( $hBmp )
EndFunc ;==> _PostStampCreateRectangleSerration()

Func _PostStampCreateRoundSerration ( $hImage )
    Local Const $hBmp = _GDIPlus_BitmapCreateFromScan0( $iGuiWidth, $iGuiHeight )
    Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext( $hBmp )
;~  _GDIPlus_GraphicsClear( $hCtxt, $SerratedEdgeColor )
    _GDIPlus_GraphicsFillRect( $hCtxt, 0, 0, $iGuiWidth, $iGuiHeight, $hTexture_Paper )
    Local $hBrush = _GDIPlus_BrushCreateSolid ( 0xFFABCDEF )
    Local $hPath = _GDIPlus_PathCreate()
    For $i = 0 To $iHCount -1 ; top & bottom
        _GDIPlus_PathAddArc ( $hPath, $iHWidth*( 1+3*$i )/2, -$iHWidth/2, $iHWidth, $iHWidth, 0, 180 ) ; _GDIPlus_PathAddArc or _GDIPlus_PathAddPie
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddArc ( $hPath, $iHWidth*( 1+3*$i )/2, $iGuiHeight -$iHWidth/2, $iHWidth, $iHWidth, 180, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next
    For $i = 0 To $iVCount -1 ; Left & right
        _GDIPlus_PathAddArc ( $hPath, -$iVWidth/2, $iVWidth*( 1+3*$i )/2, $iVWidth, $iVWidth, 270, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddArc ( $hPath, $iGuiWidth -$iVWidth/2, $iVWidth*( 1+3*$i )/2, $iVWidth, $iVWidth, 90, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next

    Local Const $hIA = _GDIPlus_ImageAttributesCreate()
    Local $aRemapTable[2][2]
    $aRemapTable[0][0] = 1
    $aRemapTable[1][0] = 0xFFABCDEF
    $aRemapTable[1][1] = 0x00000000
    _GDIPlus_ImageAttributesSetRemapTable($hIA, 1, True, $aRemapTable)

    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hBmp, 0, 0, $iGuiWidth, $iGuiHeight, 0, 0, $iGuiWidth, $iGuiHeight, $hIA )
    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth, $iVWidth, $iImageWidth, $iImageHeight )
    _GDIPlus_PathDispose ( $hPath )
    _GDIPlus_BrushDispose ( $hBrush )
    _GDIPlus_ImageAttributesDispose( $hIA )
    _GDIPlus_GraphicsDispose( $hCtxt  )
    _GDIPlus_BitmapDispose( $hBmp )
EndFunc ;==> _PostStampCreateRoundSerration()

Func _PostStampCreateTriangleSerration ( $hImage )
    Local Const $hBmp = _GDIPlus_BitmapCreateFromScan0( $iGuiWidth, $iGuiHeight )
    Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext( $hBmp )
;~  _GDIPlus_GraphicsClear( $hCtxt, $SerratedEdgeColor )
    _GDIPlus_GraphicsFillRect( $hCtxt, 0, 0, $iGuiWidth, $iGuiHeight, $hTexture_Paper )
    Local $hBrush = _GDIPlus_BrushCreateSolid ( 0xFFABCDEF )
    Local $hPath = _GDIPlus_PathCreate()
    Local $aPoints[5][2]
    $aPoints[0][0] = 4
    For $i = 0 To $iHCount +1 ; top & bottom
        $aPoints[1][0] = $iHWidth*$i
        $aPoints[1][1] = -$iHWidth/2
        $aPoints[2][0] = $iHWidth*$i -$iHWidth/2
        $aPoints[2][1] = 0
        $aPoints[3][0] = $iHWidth*$i
        $aPoints[3][1] = $iHWidth/2
        $aPoints[4][0] = $iHWidth*$i +$iHWidth/2
        $aPoints[4][1] = 0
        _GDIPlus_PathAddPolygon ( $hPath, $aPoints )
        _GDIPlus_PathCloseFigure ( $hPath )
        $aPoints[1][1] += $iGuiHeight
        $aPoints[2][1] += $iGuiHeight
        $aPoints[3][1] += $iGuiHeight
        $aPoints[4][1] += $iGuiHeight
        _GDIPlus_PathAddPolygon ( $hPath, $aPoints )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next
    For $i = 0 To $iVCount +1 ; Left & right
        $aPoints[1][0] = 0
        $aPoints[1][1] = $iVWidth*$i -$iVWidth/2
        $aPoints[2][0] = -$iVWidth/2
        $aPoints[2][1] = $iVWidth*$i
        $aPoints[3][0] = 0
        $aPoints[3][1] = $iVWidth*$i +$iVWidth/2
        $aPoints[4][0] = $iVWidth/2
        $aPoints[4][1] = $iVWidth*$i
        _GDIPlus_PathAddPolygon ( $hPath, $aPoints )
        _GDIPlus_PathCloseFigure ( $hPath )
        $aPoints[1][0] += $iGuiWidth
        $aPoints[2][0] += $iGuiWidth
        $aPoints[3][0] += $iGuiWidth
        $aPoints[4][0] += $iGuiWidth
        _GDIPlus_PathAddPolygon ( $hPath, $aPoints )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next

    Local Const $hIA = _GDIPlus_ImageAttributesCreate()
    Local $aRemapTable[2][2]
    $aRemapTable[0][0] = 1
    $aRemapTable[1][0] = 0xFFABCDEF
    $aRemapTable[1][1] = 0x00000000
    _GDIPlus_ImageAttributesSetRemapTable($hIA, 1, True, $aRemapTable)

    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hBmp, 0, 0, $iGuiWidth, $iGuiHeight, 0, 0, $iGuiWidth, $iGuiHeight, $hIA )
    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth, $iVWidth, $iImageWidth, $iImageHeight )
    _GDIPlus_PathDispose ( $hPath )
    _GDIPlus_BrushDispose ( $hBrush )
    _GDIPlus_ImageAttributesDispose( $hIA )
    _GDIPlus_GraphicsDispose( $hCtxt  )
    _GDIPlus_BitmapDispose( $hBmp )
EndFunc ;==> _PostStampCreateTriangleSerration()

Func _GDIPlus_ImageAttributesSetRemapTable($hImageAttributes, $iColorAdjustType = 0, $fEnable = False, $aColorMap = 0)
    Local $iI, $iCount, $tColorMap, $aResult
    If IsArray($aColorMap) And UBound($aColorMap) > 1 And UBound($aColorMap, 2) Then
        $iCount = $aColorMap[0][0]
        $tColorMap = DllStructCreate("uint ColorMap[" & $iCount * 2 & "]")
        For $iI = 1 To $iCount
            $tColorMap.ColorMap((2 * $iI - 1)) = $aColorMap[$iI][0]
            $tColorMap.ColorMap((2 * $iI)) = $aColorMap[$iI][1]
        Next
        $aResult = DllCall($__g_hGDIPDll, "int", "GdipSetImageAttributesRemapTable", "handle", $hImageAttributes, "int", $iColorAdjustType, "int", $fEnable, "int", $iCount, "struct*", $tColorMap)
        If @error Then Return SetError(@error, @extended, False)
        If $aResult[0] Then Return SetError(10, $aResult[0], False)
        Return True
    EndIf
    Return SetError(11, 0, False)
EndFunc   ;==>_GDIPlus_ImageAttributesSetRemapTable

Func _ScriptIsAlreadyRunning()
    Local $aWinList = WinList ( AutoItWinGetTitle() )
    If Not @error Then Return UBound ( $aWinList ) -1 > 1
EndFunc ;==> _ScriptIsAlreadyRunning()

Func _WM_HSCROLL ( $hWnd, $iMsg, $wParam, $lParam )
    #forceref $hWnd, $iMsg, $wParam
    Switch $lParam
        Case GUICtrlGetHandle ( $idSliderRescale )
            $iScale = GUICtrlRead ( $idSliderRescale )/100
            ControlSetText ( $hGuiMain, '', $idLabelScale,  StringFormat ( '%03.2f', $iScale ) )
            If $hImage Then ControlSetText ( $hGuiMain, '', $idLabelOutputSize,  Int ( $iGuiWidth * $iScale ) & 'x' & Int ( $iGuiHeight * $iScale ) )
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc ;==> _WM_HSCROLL()

Func _WM_PAINT ( $hWnd, $iMsg, $wParam, $lParam )
    #forceref $hWnd, $iMsg, $wParam, $lParam
    Switch $hWnd
        Case $hGuiMain
            _ImageDraw()
            If $hClonePreview Then _GDIPlus_GraphicsDrawImageRectRect ( $hGraphicPreview, $hClonePreview, 0, 0, $iGuiWidth, $iGuiHeight, $x, $y, $w, $h )
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc ;==> _WM_PAINT()

Func Choosecolorgif ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = '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'
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> Choosecolorgif()

Func Exitgif ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = 'R0lGODlhyAAYAPYAAEREREVFRUdHR0pKSk5OTVVUU1xbWWNiXmtpZXJwanl2cH17c4SAd4aCd4aCeIeDeYeEeoeFfYiGgYeGgoeGg4eGhIiHhIuKhZCOh5aSipmVjJmWjJqWi5uXjJyYjZ+bkaGdkqOflKSglaWhlqekm6uonq+roLCtpLOwp7azqre0rLm1qrq2q7+8scG+tcO/tMbCt8rGvMzIvs3Jvs3Jv8/LwtHNxNLPxtPQx9bSyNbTyNfTyNzYzd/c0+Dd0+Hd0+Lf1ufk2uvn3Ovn3ezo3+7q4vHu5vPv5/Tx5/Tx5vXx5/by6ff06vj16/r27Pv47f768P778f778v789f789v79+P/+/P/++wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GiJDcmVhdGVkIHdpdGggQ2hpbXBseS5jb20iACH5BAkAAFgALAAAAADIABgAAAf/gACCAQYKEA+IiYqLjI2Oj5CRkpOUlZaXmJUQCwYCgp8DCx89TFamp6ipqqusra6vsLGys7S1trNOPSEMA6ARMlW3wsPExcbHyK82Eb0BCzFXydLTtRbW1NjSNgwCBh9V0dnirxXl5uazFZ+n6OPusFcgBgs8VeBX+Pn6+/z9/v8AAwJU96kgAIH4CAKwkvATwocQI0rkV6XHAghM7E3cyJGjQoMLH65rKIhhx5MoEVZpcoiKS3swY8qcSbOmzZs4cypclaJcC5gsyqGwV86FKXOfXFTIybSp06c2XSKaQhWq1atYYVJwOPPJAUEYqhyx8BUAhSpbBaEFqTar27c4/6lOpUq3rt27ePPq3cu3L9UJSScIrsuDAAABRVowCACgAJIqgAVdmcL2oN/LmDNrrotIiufPoEOLHk26tOnTqD1LqAyaBFgMZWlUkbJarWcXn2Km3s27t2/QiKIIH068uPHjyJMrX85ceITKVYZDSXA4g6ewU6I8V+s8d/Pv4MOLPx58vPnz6LXnlikdRAEAhg0wya6ee30A0dPr388cUZL/AAYo4IAEFmjggQgm+B8DnzxRIAsMvNdLAUYosWCDFwrioIIcdujhhwMiIsSIJJZo4okopqjiiiy2OOICnyyB4g2cHFYCYwwM8WKMIzIoiIwuBinkkESeiMgPSCap5P+STDbp5JNQRiklkgp8ooICWCqAJA8OICAIA0SUpQKVnxiBZAeeAECCllO26eabcC6JyA501mnnnXjmqeeefPbpJ53UVbaDBgn0IsANQGzgSQE47BAoAETQSYMBBv1p6aWYZnonIjDM4OmnoIYq6qiklmrqqah6WhkAQcxQJQALBGHDDNstUMMMn7TqaQsK9CKIrqkGK+ywxM4QwwMKnPDCssw26+yz0EYr7bTUVsusD9hmm+2yOWCrA7M3eLvstszCoEMP5Fqr7rrstvvCCQoYcMEK9NZr77345qvvvvz26++/AAcs8MAEF4wvBgY444EJDDfs8MMQRyzxxBRXbPFnxRhnrPHGHHfs8AcLeDIAAxmIMMLJKKes8sost+zyyzDHLPPMNNds8804j6ABL6BclAEHHQQt9NBEF2300UgnrfTSTDft9NNQR+00Bxls4usnhCjQQCZcd+3112CHLTYjDcSbJgCBAAA7'
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> Exitgif()

Func Opengif ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = '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'
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> Opengif()

Func Saveaspnggif ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = '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'
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> Saveaspnggif()

Func Stamp2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = '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'
    $sFileBin &= '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'
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    $sFileBin = Binary ( _LzntDecompress ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> Stamp2Ico()

Func _Fluidwatercolorpaperjpg ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor.
    Local $sFileBin = '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= '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'
    $sFileBin &= 'WXR29sn0ZwN269wPupc6QcfhrgXxk99ajXoa/HywJfYza6V36BHrgH5pB7PHudu3g6/DpgdOBYZ9w9HA5921e0QrUtoW3j4YF1YNU23jWcBCjEOr1wFq/wAY328cAO5qnWvQJ1wCfa2a8PF1MCTujpGlv5HXAbVIkouvu6OBvbYTt243OsanlDgNee3cZT5OBc234k/68MDja9zpKMasT9MBraxvYDzZ1+EYCKQ1oPL+R0MDHd5PFGj05dcCioe4EXcNvlgR9rJVld66x64FXq2DX3H8ZnAie86H/XZ6uomBuPLpSz4OA1Pxv/1lV3QwFvdEKWfCdD13nAituft7s1uHQQPjgWzWoV92mk23+OBNe1eHdTq6T5SYFHPw98bDofGMBe2KTOmx/tgaLVZGaxt/owI9h7xsPXfp44FVu39+unQNPngPPt2eL7h1lMAaj/8AVYPHVcC/fV2q16774EIXdQtG5rrgRzK6U7TQN3Yn4YFA2htc42/jEnzwB7VR0oX7fUlPppgdC1ahBtpxh/vgCnc+yJr0dEwIe13m2nc41jWnEdPXAm/btXjHG9jZtWU+AYFF7ByuVI3QQ+WBXOf/AK7Vqb6GxgJKMWHo+WBNNNB/JYieW/zwLYXd10wK91Y1k+vlgQsTNUr/AJP9MAh3taupEGi4BxKxK1HrOv8AtgFbcda2bD0IK/DABr3NJ7lTedA+pgXHbRpVsJq+LgT2ztk+2zXq21r9dcDW7x20Ht2vWzox+2AlO3b3Q+kw4AVpW3OpxXWcCyq6zyHbAG3domknhOBN/wAncNmtZ2I+uBq8R5RxubyQfPASvL3XOWujV28ycD//2Q=='
    $sFileBin = Binary ( _Base64Decode ( $sFileBin ) )
    If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath )
    If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\'
    Local $sFilePath = $sOutputDirPath & $sFileName
    If FileExists ( $sFilePath ) Then
        If $iOverWrite = 1 Then
            If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin )
        Else
            Return SetError ( 0, 0, $sFileBin )
        EndIf
    EndIf
    Local $hFile = FileOpen ( $sFilePath, 16+2 )
    If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin )
    FileWrite ( $hFile, $sFileBin )
    FileClose ( $hFile )
    Return SetError ( 0, 0, $sFileBin )
EndFunc ;==> _Fluidwatercolorpaperjpg()

Further I added a paper texture.

The "Serrated Edge Color" for this version is obsolete but you can add an option...

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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Seems like a nifty program to have in the kitbag, though I don't know what I'd use it for at this stage, as I'm guessing the Post Office won't accept my creations as kosher.

Do we call you Postmaster General now?

Thanks for sharing! :D

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

The save process takes too long.

I modified your script a little bit:

Further I added a paper texture.

The "Serrated Edge Color" for this version is obsolete but you can add an option...

Hum...usually you offer solutions that improve script, in this case it destroy the serrated edges and transparency is loosed:huh2:

The interest of this kind of "stamp image" is to be easily pasted on anything...

The save process takes too long for high dimensions because the transparency need to be fixed by another way than classic GDI functions.

So i prefer loose a bit of time and get a quality stamp ! ;)

Thanks.

Edit : may be i could add a progress bar using a timer...

Edited by wakillon

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Seems like a nifty program to have in the kitbag, though I don't know what I'd use it for at this stage, as I'm guessing the Post Office won't accept my creations as kosher.

Do we call you Postmaster General now?

Thanks for sharing! :D

Why not ? 

Do you think i should add the cancellation postmark for scammers ? :D

Thanks.

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Could be cool to have that as an option.

Maybe even add an ink stamp facility which includes place names.

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Like "BOMBAY" on this stamp (only better .... more defined).

depositphotos_31122159-Postage-stamp-Ind

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

I just goggled this

http://www.royalmail.com/personal/stamps-and-collecting/smilers

so, I guess (for the Uk anyway) as long as you stick a "proper" 1st or 2sd class class stamp on the envelope/parcel you can add your own sticker.

Or as pictureitpostage.com

The problem is that is not free !

Edited by wakillon

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Hum...usually you offer solutions that improve script, in this case it destroy the serrated edges and transparency is loosed:huh2:

The interest of this kind of "stamp image" is to be easily pasted on anything...

The save process takes too long for high dimensions because the transparency need to be fixed by another way than classic GDI functions.

So i prefer loose a bit of time and get a quality stamp ! ;)

Thanks.

Edit : may be i could add a progress bar using a timer...

For me the transparency is working properly. You are replacing the color with transarent color using regex which takes "a long time" for bigger images. I added a way which takes some milliseconds using 

_GDIPlus_ImageAttributesSetRemapTable()

Example:

Func _PostStampCreateRoundSerration ( $hImage )
    Local Const $hBmp = _GDIPlus_BitmapCreateFromScan0( $iGuiWidth, $iGuiHeight )
    Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext( $hBmp )
;~  _GDIPlus_GraphicsClear( $hCtxt, $SerratedEdgeColor )
    _GDIPlus_GraphicsFillRect( $hCtxt, 0, 0, $iGuiWidth, $iGuiHeight, $hTexture_Paper )
    Local $hBrush = _GDIPlus_BrushCreateSolid ( 0xFFABCDEF )
    Local $hPath = _GDIPlus_PathCreate()
    For $i = 0 To $iHCount -1 ; top & bottom
        _GDIPlus_PathAddArc ( $hPath, $iHWidth*( 1+3*$i )/2, -$iHWidth/2, $iHWidth, $iHWidth, 0, 180 ) ; _GDIPlus_PathAddArc or _GDIPlus_PathAddPie
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddArc ( $hPath, $iHWidth*( 1+3*$i )/2, $iGuiHeight -$iHWidth/2, $iHWidth, $iHWidth, 180, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next
    For $i = 0 To $iVCount -1 ; Left & right
        _GDIPlus_PathAddArc ( $hPath, -$iVWidth/2, $iVWidth*( 1+3*$i )/2, $iVWidth, $iVWidth, 270, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_PathAddArc ( $hPath, $iGuiWidth -$iVWidth/2, $iVWidth*( 1+3*$i )/2, $iVWidth, $iVWidth, 90, 180 )
        _GDIPlus_PathCloseFigure ( $hPath )
        _GDIPlus_GraphicsFillPath ( $hCtxt, $hPath, $hBrush )
    Next

    Local Const $hIA = _GDIPlus_ImageAttributesCreate()
    Local $aRemapTable[2][2]
    $aRemapTable[0][0] = 1
    $aRemapTable[1][0] = 0xFFABCDEF
    $aRemapTable[1][1] = 0x00000000
    _GDIPlus_ImageAttributesSetRemapTable($hIA, 1, True, $aRemapTable)

    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hBmp, 0, 0, $iGuiWidth, $iGuiHeight, 0, 0, $iGuiWidth, $iGuiHeight, $hIA )
    _GDIPlus_GraphicsDrawImageRectRect ( $hGfx_Buffer, $hImage, 0, 0, $iImageWidth, $iImageHeight, $iHWidth, $iVWidth, $iImageWidth, $iImageHeight )
    _GDIPlus_PathDispose ( $hPath )
    _GDIPlus_BrushDispose ( $hBrush )
    _GDIPlus_ImageAttributesDispose( $hIA )
    _GDIPlus_GraphicsDispose( $hCtxt  )
    _GDIPlus_BitmapDispose( $hBmp )
EndFunc ;==> _PostStampCreateRoundSerration()

And as I said you can add an option to switch  to color instead of texture background mode which should give a paper look rather than a flat white.

If you comment out 

_GDIPlus_GraphicsFillRect( $hCtxt, 0, 0, $iGuiWidth, $iGuiHeight, $hTexture_Paper )

and enable

_GDIPlus_GraphicsClear( $hCtxt, $SerratedEdgeColor )

the  serrated edges color again.

 

Here the result of an image which has transparency:

261d946.png

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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Well, i do not understand what i have doing wrong this morning with your script but it returned horrible edges.

I'm now on my own PC, and after having done some new tests, I must apologize to you ! :>

You are right, the_GDIPlus_ImageAttributesSetRemapTable function is more fast.

It would have been easier if the _GDIPlus_ImageSaveToFileEx function could preserve the transparency, no ? :)

 

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

UEZ

I have retried your first solution on the PC i have used yesterday morning.

With your first solution and the last one you sent me yesterday evening, transparency became white !

And the worst, is that my own version too !

Compiled or not, i get a full white frame instead of serrated edges ! 

This PC is under Win7X86 with AutoIt 3.3.12.0

So i'm completly lost ! :blink:

 

Edit : To other members, is there some Win7 users who can confirm this result ?

Edited by wakillon

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

Maybe the color depth of the graphic card is set to 24-bit only?

Does it mean that i can not have any transparency under this kind of PC ?

I have also tried my compiled version with my old netbook under XPSP3 x86 and it works !

Strange isnt'it ?

AutoIt 3.3.14.2 X86 - SciTE 3.6.0WIN 8.1 X64 - Other Example Scripts

Link to comment
Share on other sites

What is the result on this PC when you run this script?

Global $objWMI= ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & @ComputerName & "\root\cimv2")
Global $oItems = $objWMI.InstancesOf("Win32_DisplayConfiguration")
Global $oTokens

For $oTokens In $oItems
    MsgBox(0, "Test", "Gfx Device: " & $oTokens.DeviceName & @CRLF & _
                      "Screen Color Depth: " & $oTokens.BitsPerPel  & " bit")
Next

 

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!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
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
 Share

×
×
  • Create New...