#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\Shape2Polygon\Shape.ico #AutoIt3Wrapper_Outfile=Shape2Polygon.exe #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_UPX_Parameters=--best --lzma #AutoIt3Wrapper_Res_Description=Get Polygon array Coordinates from a Black and White Shape. #AutoIt3Wrapper_Res_Fileversion=1.2.9 #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 #Include #Include #include #include #EndRegion ;************ Includes ************ ;~ http://www.freepik.com/free-icons/shapes ;~ http://jsfiddle.net/m1erickson/5v5hmo62/ ;~ http://www.publicdomainpictures.net/hledej.php?hleda=black+shape&x=0&y=0 ;~ http://www.publicdomainpictures.net/hledej.php?hleda=silhouette+clipart&x=0&y=0 ;~ http://images.lmgtfy.com/?q=black+shape+vector+clipart ;~ http://images.lmgtfy.com/?q=silhouette+clipart ;~ http://www.shapecollage.com/shapes ;~ http://silhouettegarden.com/ Opt ( 'GUIOnEventMode', 1 ) Opt ( 'MustDeclareVars', 1 ) Opt ( 'GUICloseOnESC', 0 ) AutoItWinSetTitle ( 'Sh4pe.Sc4nn3r' ) If _ScriptIsAlreadyRunning() Then Exit _GDIPlus_Startup() OnAutoItExitRegister ( '_Exit' ) #Region ------ Global Variables ------------------------------ Global $hGui, $hGuiDebug, $hStatusBar, $idEdit, $idLabelPolygon, $idButtonCopy, $aIdLabel, $idButtonReduceLevel, $idInputRotateDegree, $idLabelScaleDisplay Global $idLabelTitle1, $idButtonStopScan, $idButtonPreview, $idEditX, $idEditY, $iLabelPolygonW, $iLabelPolygonH, $idLabelPolygonRotate, $idButtonRotate, $idLabelPolygonRescale, $idInputRescalePercent, $idButtonRescale Global $idEditCurrentPointCount, $idEditPointCount, $idEditWidth, $idEditHeight, $idCheckboxMute, $idCheckboxOnTop Global $idComboReduceLevel, $idButtonFillPolygon, $idButtonOpen, $idAviLoader, $idRadioOriginal, $idRadioLastMod Global $hBitmap, $hImage, $hBitmap0, $hContext, $tBitmapData, $iScan0, $tPixel, $hGfx_Buffer, $hBmp_Buffer, $hGraphic, $hBitmapPencil Global $iFrameWidth = 1, $iCount, $iCaseCurrent, $l, $aRet, $a[1][2], $iW, $iH, $iX, $iY, $iXOld, $iYOld, $iOneByOne, $iReduction, $iOpen, $iFlag, $iAngleDeg, $iRescalePercent, $iRescale Global $iBottomDir, $iRightDir, $iTimerInitDraw, $fRatio, $aPointsLastMod, $iScan, $sFile, $sFileTmp, $iReduce, $aSize, $iFillPolygon, $iStop, $iPreview, $iRotation, $bFilled = False Global $sInstallDir = @HomeDrive & '\ProgramData\Shape2Polygon', $sRegKeySettings = 'HKCU\Software\Shape2Polygon\Settings' Global $iDebug = 0 #EndRegion --- Global Variables ------------------------------ ;~ Global $hTimerInit _Gui() #Region ------ Main Loop ------------------------------ While 1 #Region ------ Scan ------------------------------ If $iScan Or $iFlag Then _BitmapLoad ( $sFile ) If Not @error Then SoundPlay ( '' ) If Not _GuiCtrlIsChecked ( $idCheckboxMute ) Then SoundPlay ( $sInstallDir & '\LaLinea.mp3' ) $bFilled = False ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Fill Polygon' ) GUICtrlSetState ( $idAviLoader, $GUI_SHOW ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTART ) ConsoleWrite ( '$iX : ' & $iX & ', $iY : ' & $iY & @Crlf ) ControlSetText ( $hGui, '', $idEdit, '' ) _GDIPlus_GraphicsClear ( $hGfx_Buffer, 0xFFFFFFFF ) ControlSetText ( $hGui, '', $idEditCurrentPointCount, '' ) ControlSetText ( $hGui, '', $idEditWidth, '' ) ControlSetText ( $hGui, '', $idEditHeight, '' ) ControlSetText ( $hGui, '', $idLabelPolygon, '' ) $iCount = 0 While 2 $l = 0 $iCaseCurrent = _PixelGetNeighbour ( $iX, $iY );~ ConsoleWrite ( '+ $iCaseCurrent : ' & $iCaseCurrent & @Crlf ) If @error Then $iScan = 0 ExitLoop EndIf If $iCaseCurrent Then $iCount+=1 ReDim $a[$iCount+1][2] $l = 1 EndIf If $a[1][0] And $a[1][1] Then If TimerDiff ( $iTimerInitDraw ) > 60 Then $a[0][0] = UBound ( $a ) -1 $aPointsLastMod = $a $aPointsLastMod[UBound ( $aPointsLastMod ) -1][0] = $aPointsLastMod[1][0] $aPointsLastMod[UBound ( $aPointsLastMod ) -1][1] = $aPointsLastMod[1][1] _PolygonDraw ( $aPointsLastMod, 0, 1 ) Sleep ( 10 ) ; limit cpu $iTimerInitDraw = TimerInit() EndIf EndIf If $l Then $aRet = _PixelSetNext ( $iCaseCurrent ) If Not @error Then $a[$iCount][0] = $aRet[0] $a[$iCount][1] = $aRet[1] Else $iScan = 0 ExitLoop EndIf EndIf If $iCount > 30 And $a[$iCount][0] = $a[1][0] And $a[$iCount][1] = $a[1][1] Then _GDIPlus_BitmapUnlockBits ( $hBitmap0, $tBitmapData ) $tBitmapData = 0 $tPixel = 0 $a = _PolygonSetPos ( $a ) $aPointsLastMod = $a _PolygonDraw ( $a ) ControlSetText ( $hGui, '', $idEdit, _PolygonArray2String ( $a ) & @CRLF ) $aSize = _PolygonGetSize ( $a ) ControlSetText ( $hGui, '', $idEditWidth, Int ( $aSize[0] ) ) ControlSetText ( $hGui, '', $idEditHeight, Int ( $aSize[1] ) ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Scan Complete.', 0, 0 ) $iScan = 0 $iFlag = 0 ExitLoop EndIf If $l Then $iXOld = $iX $iYOld = $iY $iX = $a[$iCount][0] $iY = $a[$iCount][1] $iRightDir = 0 ; no changes If $iX > $iXOld Then $iRightDir = 1 ; means coming from the left If $iX < $iXOld Then $iRightDir = -1 ; means coming from the right $iBottomDir = 0 ; no changes If $iY > $iYOld Then $iBottomDir = 1 ; means coming from the Top If $iY < $iYOld Then $iBottomDir = -1 ; means coming from the bottom ControlSetText ( $hGui, '', $idEditX, $iX ) ControlSetText ( $hGui, '', $idEditY, $iY ) ControlSetText ( $hGui, '', $idEditPointCount, UBound ( $a ) ) ; -1 ) EndIf If $iStop Then _GDIPlus_BitmapUnlockBits ( $hBitmap0, $tBitmapData ) $tBitmapData = 0 $tPixel = 0 $iScan = 0 $iStop = 0 $iFlag = 0 _GDIPlus_GraphicsClear ( $hGfx_Buffer, 0xFFFFFFFF ) _GDIPlus_GraphicsDrawImage ( $hGraphic, $hBmp_Buffer, 0, 0 ) $a = 0 $aPointsLastMod = $a _GUICtrlStatusBar_SetText ( $hStatusBar, 'Scan was Stopped by the user.', 0, 0 ) SoundPlay ( '' ) ExitLoop EndIf WEnd Else $iScan = 0 If @error <> 4 Then MsgBox ( 262144+16, 'Error', 'Can not Load file !' & @CRLF & 'Error : ' & @error, 5, $hGui ) GUICtrlSetState ( $idRadioLastMod, $GUI_CHECKED ) Else GUICtrlSetState ( $idRadioOriginal, $GUI_CHECKED ) EndIf EndIf GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTOP ) ;~ SoundPlay ( '' ) #EndRegion --- Scan ------------------------------ #Region ------ Reduce ------------------------------ ElseIf $iReduce Then GUICtrlSetState ( $idAviLoader, $GUI_SHOW ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTART ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Reducing Polygon Array Points...', 0, 0 ) $iReduction = GUICtrlRead ( $idComboReduceLevel ) If _GuiCtrlIsChecked ( $idRadioOriginal ) Then $aPointsLastMod = $a $aPointsLastMod = _PolygonReducePoints ( $aPointsLastMod, $iReduction ) $aSize = _PolygonGetSize ( $aPointsLastMod ) If $aSize[0] < $aSize[1] Then $fRatio = $aSize[1]/$iLabelPolygonH Else $fRatio = $aSize[0]/$iLabelPolygonW EndIf If $fRatio < 1 Then $fRatio = 1 ;~ ConsoleWrite ( '$fRatio : ' & $fRatio & @Crlf ) _PolygonDraw ( $aPointsLastMod, 0, 0, 1 ) ControlSetText ( $hGui, '', $idEditCurrentPointCount, UBound ( $aPointsLastMod ) -1 ) ControlSetText ( $hGui, '', $idEdit, _PolygonArray2String ( $aPointsLastMod ) ) ControlSetText ( $hGui, '', $idEditWidth, Int ( $aSize[0] ) ) ControlSetText ( $hGui, '', $idEditHeight, Int ( $aSize[1] ) ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Reduction Complete.', 0, 0 ) $iReduce = 0 GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTOP ) GUICtrlSetState ( $idRadioLastMod, $GUI_CHECKED ) $bFilled = False ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Fill Polygon' ) #EndRegion --- Reduce ------------------------------ #Region ------ FillPolygon ------------------------------ ElseIf $iFillPolygon Then _PolygonDraw ( $aPointsLastMod, $bFilled, 0, 0 ) $iFillPolygon = 0 #EndRegion --- FillPolygon ------------------------------ #Region ------ Preview ------------------------------ ElseIf $iPreview Then _BitmapPreview ( $aPointsLastMod ) $iPreview = 0 #EndRegion --- Preview ------------------------------ #Region ------ Open ------------------------------ ElseIf $iOpen Then If Not $iScan And Not $iReduce Then $sFileTmp = FileOpenDialog ( 'Select a Shape', @WorkingDir, 'Image Files (*.jpg;*.jpeg;*.png;*.gif;*.bmp)', 1+2, '', $hGui ) If Not @error Then $sFile = $sFileTmp _GUICtrlStatusBar_SetText ( $hStatusBar, _FileGetFullNameByFullPath ( $sFile ), 2, 0 ) $iScan = 1 EndIf EndIf $iOpen = 0 #EndRegion --- Open ------------------------------ #Region ------ Rotation ------------------------------ ElseIf $iRotation Then GUICtrlSetState ( $idAviLoader, $GUI_SHOW ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTART ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Rotating Polygon...', 0, 0 ) If _GuiCtrlIsChecked ( $idRadioOriginal ) Then $aPointsLastMod = $a $aPointsLastMod = _PolygonRotate ( $aPointsLastMod, $iAngleDeg ) $aSize = _PolygonGetSize ( $aPointsLastMod ) If $aSize[0] < $aSize[1] Then $fRatio = $aSize[1]/$iLabelPolygonH Else $fRatio = $aSize[0]/$iLabelPolygonW EndIf If $fRatio < 1 Then $fRatio = 1 ;~ ConsoleWrite ( '$fRatio rotate : ' & $fRatio & @Crlf ) ControlSetText ( $hGui, '', $idLabelScaleDisplay, ' Preview Scale Display : ' & Round ( 100/$fRatio, 2 ) & '%' ) _PolygonDraw ( $aPointsLastMod, 0, 0, 1 ) ControlSetText ( $hGui, '', $idEdit, _PolygonArray2String ( $aPointsLastMod ) ) ControlSetText ( $hGui, '', $idEditWidth, Int ( $aSize[0] ) ) ControlSetText ( $hGui, '', $idEditHeight, Int ( $aSize[1] ) ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Rotation Complete.', 0, 0 ) $iRotation = 0 GUICtrlSetState ( $idRadioLastMod, $GUI_CHECKED ) $bFilled = False ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Fill Polygon' ) GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTOP ) #EndRegion --- Rotation ------------------------------ #Region ------ Rescale ------------------------------ ElseIf $iRescale Then GUICtrlSetState ( $idAviLoader, $GUI_SHOW ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTART ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Rescaling Polygon...', 0, 0 ) If _GuiCtrlIsChecked ( $idRadioOriginal ) Then $aPointsLastMod = $a $aPointsLastMod = _PolygonRescale ( $aPointsLastMod, $iRescalePercent, 0, 0 ) $aSize = _PolygonGetSize ( $aPointsLastMod ) If @error Then ConsoleWrite ( '! @error $aSize : ' & @error & @Crlf ) If $aSize[0] < $aSize[1] Then $fRatio = $aSize[1]/$iLabelPolygonH Else $fRatio = $aSize[0]/$iLabelPolygonW EndIf If $fRatio < 1 Then $fRatio = 1 ;~ ConsoleWrite ( '$fRatio rotate : ' & $fRatio & @Crlf ) ControlSetText ( $hGui, '', $idLabelScaleDisplay, ' Preview Scale Display : ' & Round ( 100/$fRatio, 2 ) & '%' ) _PolygonDraw ( $aPointsLastMod, 0, 0, 1 ) ControlSetText ( $hGui, '', $idEditCurrentPointCount, UBound ( $aPointsLastMod ) -1 ) ControlSetText ( $hGui, '', $idEdit, _PolygonArray2String ( $aPointsLastMod ) ) ControlSetText ( $hGui, '', $idEditWidth, Int ( $aSize[0] ) ) ControlSetText ( $hGui, '', $idEditHeight, Int ( $aSize[1] ) ) _GUICtrlStatusBar_SetText ( $hStatusBar, '', 1, 0 ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Rescale Complete.', 0, 0 ) $iRescale = 0 GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTOP ) GUICtrlSetState ( $idRadioLastMod, $GUI_CHECKED ) $bFilled = False ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Fill Polygon' ) #EndRegion --- Rescale ------------------------------ Else Sleep ( 250 ) EndIf WEnd #EndRegion --- Main Loop ------------------------------ Func _ASM_BitmapBnW ( $vBmp ) ; ASM code by AndyG Local $iWidth = _GDIPlus_ImageGetWidth ( $vBmp ) Local $iHeight = _GDIPlus_ImageGetHeight ( $vBmp ) Local $vBitmap = _GDIPlus_BitmapCloneArea ( $vBmp, 0, 0, $iWidth, $iHeight ) Local $hBitmapData = _GDIPlus_BitmapLockBits ( $vBitmap, 0, 0, $iWidth, $iHeight, BitOR ( $GDIP_ILMREAD, $GDIP_ILMWRITE ), $GDIP_PXF32RGB ) Local $Scan = DllStructGetData ( $hBitmapData, 'Scan0' ) Local $Stride = DllStructGetData ( $hBitmapData, 'Stride' ) Local $tPixelData = DllStructCreate ( 'dword[' & ( Abs( $Stride*$iHeight ) ) & ']', $Scan ) Local $bytecode = '0x8B7C24048B5424088B5C240CB900000000C1E202575352518B040FBA00000000BB00000000B90000000088C2C1E80888C3C1E80888C18B44240883F800772FB85555000001CB01D3F7E3C1E810BB00000000B3FFC1E30888C3C1E30888C3C1E30888C389D8595A5B5F89040FEB3B89C839C3720289D839C2720289D05089F839C3770289D839C2770289D05B01D8BBDC780000F7E3C1E810595A5B5F3B4424107213C7040FFFFFFF0083C10439D1730EE95FFFFFFFC7040F00000000EBEBC3' Local $tCodebuffer = DllStructCreate ( 'byte[' & StringLen ( $bytecode )/2 -1 & ']' ) DllStructSetData ( $tCodebuffer, 1, $bytecode ) DllCall ( 'user32.dll', 'int', 'CallWindowProcW', 'ptr', DllStructGetPtr ( $tCodebuffer ), 'ptr', DllStructGetPtr ( $tPixelData ), 'int', $iWidth * $iHeight, 'int', 1, 'int', 100 ) ; Check if all corners are not white. Local $Error = DllStructGetData ( $tPixelData, 1, 1 ) <> 0xFFFFFF And _ ; top left DllStructGetData ( $tPixelData, 1, ( $iHeight -1 )*$iWidth + 1 ) <> 0xFFFFFF And _ ; bottom left DllStructGetData ( $tPixelData, 1, $iWidth ) <> 0xFFFFFF And _ ; top right DllStructGetData ( $tPixelData, 1, $iHeight*$iWidth ) <> 0xFFFFFF ; bottom right _GDIPlus_BitmapUnlockBits ( $vBitmap, $hBitmapData ) $tPixelData = 0 $tCodebuffer = 0 Return SetError ( $Error, 0, $vBitmap ) EndFunc ;==> _ASM_BitmapBnW() 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 _BitmapAddFrame ( $hImage, $FrameWidth=10, $FrameColor=0xFFFFFFFF ) Local $iWidth = _GDIPlus_ImageGetWidth ( $hImage ) Local $iHeight = _GDIPlus_ImageGetHeight ( $hImage ) Local $hBitmap = _GDIPlus_BitmapCreateFromScan0 ( $iWidth + $FrameWidth*2, $iHeight + $FrameWidth*2, $GDIP_PXF32RGB ) Local $hContext = _GDIPlus_ImageGetGraphicsContext ( $hBitmap ) ;~ _GDIPlus_GraphicsSetSmoothingMode ( $hContext, $GDIP_SMOOTHINGMODE_HIGHQUALITY ) _GDIPlus_GraphicsClear ( $hContext, $FrameColor ) _GDIPlus_GraphicsDrawImageRect ( $hContext, $hImage, $FrameWidth, $FrameWidth, $iWidth, $iHeight ) _GDIPlus_GraphicsDispose ( $hContext ) Return $hBitmap EndFunc ;==> _BitmapAddFrame() Func _BitmapDisplayInWindowsViewer ( $sFilePath ) If Not FileExists ( $sFilePath ) Then Return SetError ( -1 ) Run ( 'rundll32 shimgvw.dll,ImageView_Fullscreen ' & $sFilePath ) EndFunc ;==> _BitmapDisplayInWindowsViewer() Func _BitmapLoad ( $sFile ) If Not FileExists ( $sFile ) Then Return SetError ( 1, 0, 0 ) $hBitmap = _GDIPlus_BitmapCreateFromFile ( $sFile ) If @error Then Return SetError ( 2, 0, 0 ) Switch _GDIPlus_ImageGetType ( $hBitmap ) Case $GDIP_IMAGETYPE_UNKNOWN, $GDIP_IMAGETYPE_METAFILE _GDIPlus_BitmapDispose ( $hBitmap ) Return SetError ( 3, 0, 0 ) EndSwitch If _GDIPlus_ImageGetWidth ( $hBitmap ) > 1000 Or _GDIPlus_ImageGetHeight ( $hBitmap ) > 1000 Then If MsgBox ( 262144+4+48, 'Confirm', @CRLF & 'The shape is very large' & @CRLF & _ 'It will take much time ! ' & @CRLF & @CRLF & _ 'Continue ?' & @CRLF, 0, $hGui ) <> 6 Then _GDIPlus_BitmapDispose ( $hBitmap ) Return SetError ( 4, 0, 0 ) EndIf EndIf #Region ------ Adaptation for png with transparency ------------------------------ Local $iWidth = _GDIPlus_ImageGetWidth ( $hBitmap ) Local $iHeight = _GDIPlus_ImageGetHeight ( $hBitmap ) Local $hBitmap00 = _GDIPlus_BitmapCreateFromScan0 ( $iWidth, $iHeight, $GDIP_PXF32RGB ) Local $hContext00 = _GDIPlus_ImageGetGraphicsContext ( $hBitmap00 ) _GDIPlus_GraphicsClear ( $hContext00, 0xFFFFFFFF ) ; add white background _GDIPlus_GraphicsDrawImageRect ( $hContext00, $hBitmap, 0, 0, $iWidth, $iHeight ) _GDIPlus_BitmapDispose ( $hBitmap ) _GDIPlus_GraphicsDispose ( $hContext00 ) #EndRegion --- Adaptation for png with transparency ------------------------------ ; convert bitmap to black and white only. $hImage = _ASM_BitmapBnW ( $hBitmap00 ) If @error Then _GDIPlus_BitmapDispose ( $hImage ) _GDIPlus_BitmapDispose ( $hBitmap00 ) Return SetError ( 5, 0, 0 ) EndIf _GDIPlus_BitmapDispose ( $hBitmap00 ) $hBitmap = _BitmapAddFrame ( $hImage, $iFrameWidth ) _GDIPlus_ImageDispose ( $hImage ) $iW = _GDIPlus_ImageGetWidth ( $hBitmap ) $iH = _GDIPlus_ImageGetHeight ( $hBitmap ) ConsoleWrite ( '$iW : ' & $iW & @Crlf ) ConsoleWrite ( '$iH : ' & $iH & @Crlf ) If $hBitmap0 Then _GDIPlus_BitmapDispose ( $hBitmap0 ) If $hContext Then _GDIPlus_GraphicsDispose ( $hContext ) $hBitmap0 = _GDIPlus_BitmapCreateFromScan0 ( $iW, $iH, $GDIP_PXF32RGB ) $hContext = _GDIPlus_ImageGetGraphicsContext ( $hBitmap0 ) _GDIPlus_GraphicsDrawImageRect ( $hContext, $hBitmap, 0, 0, $iW, $iH ) _GDIPlus_BitmapDispose ( $hBitmap ) $tBitmapData = _GDIPlus_BitmapLockBits ( $hBitmap0, 0, 0, $iW, $iH, BitOR ( $GDIP_ILMWRITE, $GDIP_ILMREAD ), $GDIP_PXF32ARGB ) $iScan0 = DllStructGetData ( $tBitmapData, 'Scan0' ) $tPixel = DllStructCreate ( 'int[' & $iW*$iH & '];', $iScan0 ) ; find a black pixel Local $iStartX = $iFrameWidth Local $iStartY = Int ( $iH/( 2+ $iFlag ) ) Local $iRowOffset1 For $i = $iStartY To $iH - 1 $iRowOffset1 = $i*$iW + 1 For $j = $iStartX To $iW - 1 If DllStructGetData ( $tPixel, 1, $iRowOffset1 + $j ) = 0xFF000000 Then ExitLoop 2 Next Next $iX = $j $iY = $i ;~ anticlockwise rotation scan. $iRightDir = -1 $iBottomDir = 1 $iXOld = 0 $iYOld = 0 $a = 0 Dim $a[1][2] If $iW < $iH Then $fRatio = $iH/$iLabelPolygonH Else $fRatio = $iW/$iLabelPolygonW EndIf If $fRatio < 1 Then $fRatio = 1 ;~ ConsoleWrite ( '$fRatio : ' & $fRatio & @Crlf ) ControlSetText ( $hGui, '', $idLabelScaleDisplay, ' Preview Scale Display : ' & Round ( 100/$fRatio, 2 ) & '%' ) _GUICtrlStatusBar_SetText ( $hStatusBar, 'Please Wait While Scanning Shape', 0, 0 ) $iTimerInitDraw = TimerInit() _GUICtrlStatusBar_SetText ( $hStatusBar, _FileGetFullNameByFullPath ( $sFile ) & ' (' & $iW - $iFrameWidth*2 & 'x' & $iH - $iFrameWidth*2 & ')' , 2, 0 ) EndFunc ;==> _BitmapLoad() Func _BitmapPreview ( $aPoints ) $aPoints = _PolygonSetPos ( $aPoints ) Local $aSize = _PolygonGetSize ( $aPoints ) Local $iWidth = $aSize[0] Local $iHeight = $aSize[1] Local $hScan0 = _GDIPlus_BitmapCreateFromScan0 ( $iWidth, $iHeight, $GDIP_PXF32RGB ) Local $hGraphics = _GDIPlus_ImageGetGraphicsContext ( $hScan0 ) _GDIPlus_GraphicsSetSmoothingMode ( $hGraphics, $GDIP_SMOOTHINGMODE_HIGHQUALITY ) _GDIPlus_GraphicsClear ( $hGraphics, 0xFFFFFFFF ) If $bFilled Then _GDIPlus_GraphicsFillPolygon ( $hGraphics, $aPoints ) Else _GDIPlus_GraphicsDrawPolygon ( $hGraphics, $aPoints ) EndIf Local $sTmp = @TempDir & '\' & @HOUR & @MIN & @SEC & @MSEC & '-' & $iWidth & 'x' & $iHeight & '.png' _GDIPlus_ImageSaveToFile ( $hScan0, $sTmp ) _GDIPlus_GraphicsDispose ( $hGraphics ) _GDIPlus_BitmapDispose ( $hScan0 ) _BitmapDisplayInWindowsViewer ( $sTmp ) ; Open in windows Viewer. $aPoints = 0 EndFunc ;==> _BitmapPreview() Func _Exit() $iAngleDeg = GUICtrlRead ( $idInputRotateDegree ) If $iAngleDeg < 0 Then $iAngleDeg = 360 + $iAngleDeg ElseIf $iAngleDeg > 360 Then $iAngleDeg = $iAngleDeg - 360 EndIf RegWrite ( $sRegKeySettings, 'Mute', 'REG_SZ', Int ( _GuiCtrlIsChecked ( $idCheckboxMute ) ) ) RegWrite ( $sRegKeySettings, 'OnTop', 'REG_SZ', Int ( _GuiCtrlIsChecked ( $idCheckboxOnTop ) ) ) RegWrite ( $sRegKeySettings, 'RotateDegree', 'REG_SZ', $iAngleDeg ) RegWrite ( $sRegKeySettings, 'ReductionLevel', 'REG_SZ', GUICtrlRead ( $idComboReduceLevel ) ) $iRescalePercent = GUICtrlRead ( $idInputRescalePercent ) If $iRescalePercent < 1 Or $iRescalePercent > 99 Then $iRescalePercent = 100 RegWrite ( $sRegKeySettings, 'RescalePercent', 'REG_SZ', $iRescalePercent ) _GDIPlus_BitmapDispose ( $hBitmapPencil ) _GDIPlus_GraphicsDispose ( $hGfx_Buffer ) _GDIPlus_BitmapDispose ( $hBmp_Buffer ) _GDIPlus_GraphicsDispose ( $hGraphic ) _GDIPlus_BitmapDispose ( $hBitmap0 ) _GDIPlus_GraphicsDispose ( $hContext ) _GDIPlus_Shutdown() GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) GUICtrlSetState ( $idAviLoader, $GUI_AVISTOP ) GUIDelete ( $hGuiDebug ) GUIDelete ( $hGui ) DirRemove ( $sInstallDir, 1 ) EndFunc ;==> _Exit() Func _FileGetFullNameByFullPath ( $sFullPath ) Local $aFileName = StringSplit ( $sFullPath, '\' ) If Not @error Then Return $aFileName[$aFileName[0]] EndFunc ;==> _FileGetFullNameByFullPath() Func _Gui() HeartIco ( 'Shape.ico', $sInstallDir ) Loader_55X55Avi ( '00184_55x55.avi', $sInstallDir ) LaLineaMp3 ( 'LaLinea.mp3', $sInstallDir ) $hGui = GUICreate ( 'GDI+ Shape2Polygon v1.2.9', 830, 680, -1, -1, -1, BitOR ( $WS_EX_ACCEPTFILES, $WS_EX_TOPMOST ) ) GUISetIcon ( $sInstallDir & '\Shape.ico' ) GUISetOnEvent ( $GUI_EVENT_CLOSE, '_GuiEvents' ) GUISetOnEvent ( $GUI_EVENT_DROPPED, '_GuiEvents' ) GUISetOnEvent ( $GUI_EVENT_RESTORE, '_GuiEvents' ) Local $x = 800 - ( 312 ) $iLabelPolygonW = $x -2 $iLabelPolygonH = $x -2 $idLabelPolygon = GUICtrlCreateLabel ( @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & @CRLF & 'Drag and Drop' & @CRLF & 'a Black and White Shape' & @CRLF & 'here', 0, 0, $iLabelPolygonW, $iLabelPolygonH, 0x01 ) GUICtrlSetFont ( -1, 18, 600 ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) GUICtrlSetState ( -1, $GUI_DROPACCEPTED ) GUICtrlSetState ( -1, $GUI_DISABLE ) $hGraphic = _GDIPlus_GraphicsCreateFromHWND ( GUICtrlGetHandle ( $idLabelPolygon ) ) _GDIPlus_GraphicsSetSmoothingMode ( $hGraphic, $GDIP_SMOOTHINGMODE_HIGHQUALITY ) _GDIPlus_GraphicsClear ( $hGraphic, 0xFFFFFFFF ) $hBmp_Buffer = _GDIPlus_BitmapCreateFromGraphics ( $iLabelPolygonW, $iLabelPolygonH, $hGraphic ) $hGfx_Buffer = _GDIPlus_ImageGetGraphicsContext ( $hBmp_Buffer ) _GDIPlus_GraphicsSetSmoothingMode ( $hGfx_Buffer, $GDIP_SMOOTHINGMODE_HIGHQUALITY ) ; GUICtrlCreateLabel ( 'X : ', $x +2, 14, 30, 20 ) ;~ GUICtrlSetBkColor ( -1, 0xFF0000 ) GUICtrlSetFont ( -1, 10, 600 ) $idEditX = GUICtrlCreateEdit ( '', $x +35, 14, 60, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) GUICtrlCreateLabel ( 'Y : ', $x +120, 14, 30, 20 ) GUICtrlSetFont ( -1, 10, 600 ) ;~ GUICtrlSetBkColor ( -1, 0xFF0000 ) $idEditY = GUICtrlCreateEdit ( '', $x +155, 14, 60, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) $idButtonStopScan = GUICtrlCreateButton ( 'Stop', $x +232, 12, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; GUICtrlCreateLabel ( 'Original PointCount : ', $x +2, 54, 205, 20 ) GUICtrlSetFont ( -1, 10, 600 ) $idEditPointCount = GUICtrlCreateEdit ( '', $x +155, 54, 60, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) $idButtonOpen = GUICtrlCreateButton ( 'Open', $x +232, 52, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) GUICtrlCreateLabel ( 'Polygon Size : ', $x +2, 95, 100, 20 ) GUICtrlSetFont ( -1, 10, 600 ) $idEditWidth = GUICtrlCreateEdit ( '', $x +105, 95, 40, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlCreateLabel ( ' X ', $x +152, 97, 15, 20 ) GUICtrlSetFont ( -1, 10, 600 ); $idEditHeight = GUICtrlCreateEdit ( '', $x +175, 95, 40, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetColor ( -1, 0xFF0000 ) $idButtonPreview = GUICtrlCreateButton ( 'Preview', $x +232, 93, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; GUICtrlCreateLabel ( 'Current PointCount : ', $x +2, 134, 205, 20 ) ;~ GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlSetFont ( -1, 10, 600 ) $idEditCurrentPointCount = GUICtrlCreateEdit ( '', $x +155, 134, 60, 20, 0x0002+0x0800 ) ; $ES_RIGHT+$ES_READONLY GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetColor ( -1, 0xFF0000 ) $idButtonFillPolygon = GUICtrlCreateButton ( 'Fill Polygon', $x +232, 132, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; ; GUICtrlCreateGroup ( ' Operations ', $x +2, 175, 335, 150 ) GUICtrlSetFont ( -1, 10, 600 ) GUICtrlCreateLabel ( 'Reduction Level : ', $x +20, 174+35, 150, 20 ) GUICtrlSetFont ( -1, 10, 600 ) Local $sRegRead = RegRead ( $sRegKeySettings, 'ReductionLevel' ), $iReductionLevel = 4, $iRotateDegree = 0 If Not @error Then $iReductionLevel = $sRegRead $idComboReduceLevel = GUICtrlCreateCombo ( '', $x +155, 171+35, 60, 20, 0x0003 ) ; $CBS_DROPDOWNLIST GUICtrlSetData ( -1, '8|7|6|5|4|3|2|0', $iReductionLevel ) GUICtrlSetFont ( -1, 10, 600 ) $idButtonReduceLevel = GUICtrlCreateButton ( 'Reduce', $x +232, 171+35, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; $idLabelPolygonRotate = GUICtrlCreateLabel ( 'Rotate Degree : ', $x +20, 214+35, 120, 20 ) GUICtrlSetFont ( -1, 10, 600 ) $sRegRead = RegRead ( $sRegKeySettings, 'RotateDegree' ) If Not @error Then $iRotateDegree = $sRegRead $idInputRotateDegree = GUICtrlCreateInput ( $iRotateDegree, $x +155, 213+35, 60, 20, 0x0002 ) ; $ES_RIGHT GUICtrlSetFont ( -1, 10, 600 ) GUICtrlSetColor ( -1, 0xFF0000 ) $idButtonRotate = GUICtrlCreateButton ( 'Rotate', $x +232, 212+35, 100, 25 ) ; $ES_RIGHT GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; $idLabelPolygonRescale = GUICtrlCreateLabel ( 'Rescale Percent : ', $x +20, 254+35, 120, 20 ) GUICtrlSetFont ( -1, 10, 600 ) $sRegRead = RegRead ( $sRegKeySettings, 'RescalePercent' ) If Not @error Then $iRescalePercent = $sRegRead $idInputRescalePercent = GUICtrlCreateInput ( $iRescalePercent, $x +155, 253+35, 60, 20, 0x0002 ) ; $ES_RIGHT GUICtrlSetFont ( -1, 10, 600 ) GUICtrlSetColor ( -1, 0xFF0000 ) $idButtonRescale = GUICtrlCreateButton ( 'Rescale', $x +232, 252+35, 100, 25 ) ; $ES_RIGHT GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; GUICtrlCreateGroup ( ' Work From ', $x +2, 292+45, 335, 95 ) GUICtrlSetFont ( -1, 10, 600 ) $idRadioOriginal = GUICtrlCreateRadio ( ' Original Scanned Polygon Array', $x +50, 322+50, 250, 20 ) GUICtrlSetFont ( -1, 10, 600 ) $idRadioLastMod = GUICtrlCreateRadio ( ' Last Modified Polygon Array', $x +50, 352+50, 250, 20 ) GUICtrlSetFont ( -1, 10, 600 ) GUICtrlSetState ( -1, $GUI_CHECKED ) ; GUICtrlCreateGroup ( ' Settings ', $x +2, 292+150, 335, 44 ) GUICtrlSetFont ( -1, 10, 600 ) $idCheckboxMute = GUICtrlCreateCheckbox ( ' Mute', $x +50, 292+155+15, 60, 20 ) GUICtrlSetFont ( -1, 10, 600 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) $sRegRead = RegRead ( $sRegKeySettings, 'Mute' ) If Not @error Then If $sRegRead = 1 Then GUICtrlSetState ( -1, $GUI_CHECKED ) Else GUICtrlSetState ( -1, $GUI_CHECKED ) EndIf $idCheckboxOnTop = GUICtrlCreateCheckbox ( ' OnTop', $x +150, 292+155+15, 70, 20 ) GUICtrlSetFont ( -1, 10, 600 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) $sRegRead = RegRead ( $sRegKeySettings, 'OnTop' ) If Not @error Then If $sRegRead = 1 Then GUICtrlSetState ( -1, $GUI_CHECKED ) Else GUICtrlSetState ( -1, $GUI_CHECKED ) EndIf ; $idLabelScaleDisplay = GUICtrlCreateLabel ( ' Preview Scale Display', 2, 730 - 237, $x -4, 20 ) GUICtrlSetFont ( -1, 10, 600 ) ; $idLabelTitle1 = GUICtrlCreateLabel ( ' Polygon Points Array', 2, 730 - 202, $x -4, 20 ) GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlSetFont ( -1, 10, 600 ) ; $idAviLoader = GUICtrlCreateAvi ( $sInstallDir & '\00184_55x55.avi', 0, 387, 730 - 240, 55, 55 ) GUICtrlSetState ( $idAviLoader, $GUI_HIDE ) ; $idButtonCopy = GUICtrlCreateButton ( 'Copy', 800 -75, 730 - 212, 100, 25 ) GUICtrlSetFont ( -1, 10, 800 ) GUICtrlSetOnEvent ( -1, '_GuiEvents' ) ; $idEdit = GUICtrlCreateEdit ( '', 2, 730 - 182, 826, 108 ) ; Local $aParts[3] = [ 250, 350, -1 ] $hStatusBar = _GUICtrlStatusBar_Create ( $hGui ) _GUICtrlStatusBar_SetParts ( $hStatusBar, $aParts ) GUIRegisterMsg ( $WM_PAINT, '_WM_PAINT' ) GUIRegisterMsg ( $WM_COMMAND, '_WM_COMMAND' ) GUISetState() WinSetOnTop ( $hGui, '', _GuiCtrlIsChecked ( $idCheckboxOnTop ) ) ; Debug Window for help to correct errors from _PixelSetNext function.(Hiden when $iDebug = 0) $hGuiDebug = GUICreate ( 'Debug Window', 310, 310, @DesktopWidth - 320, 5, -1, $WS_EX_TOPMOST, $hGui ) GUISetIcon ( $sInstallDir & '\Shape.ico' ) Dim $aIdLabel[25] Local $k = 0, $n, $o $x = 0 For $i = 0 To 4 For $j = 0 To 4 $n = $i -2 If $n = 0 Then $n = '' Else If $n > 0 Then $n = '+' & $n EndIf $o = $j -2 If $o = 0 Then $o = '' Else If $o > 0 Then $o = '+' & $o EndIf $aIdLabel[$k] = GUICtrlCreateLabel ( @CRLF & 'x ' & $n & @CRLF & 'y ' & $o, $x +2 +$i*( 60 +2 ), 2+$j*( 60+2 ), 60, 60, 0x01 ) GUICtrlSetBkColor ( -1, 0xFFFFFF ) If $k = 12 Then GUICtrlSetBkColor ( -1, 0xFF3366 ) GUICtrlSetFont ( -1, 10, 600 ) $k+=1 Next Next If $iDebug Then GUISetState() EndFunc ;==> _Gui() Func _GuiCtrlIsChecked ( $idCtrl ) Return BitAND ( GUICtrlRead ( $idCtrl ), $GUI_CHECKED ) = $GUI_CHECKED EndFunc ;==> _GuiCtrlIsChecked() Func _GuiEvents() Local $iAction = $iScan + $iReduce + $iRescale + $iRotation + $iOpen Switch @GUI_CtrlId Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_DROPPED If $iAction Then Return $sFile = @GUI_DRAGFILE $iScan = 1 Case $GUI_EVENT_RESTORE If UBound ( $a ) > 1 Then _GDIPlus_GraphicsDrawImage ( $hGraphic, $hBmp_Buffer, 0, 0 ) Case $idButtonCopy Local $sTxt = GUICtrlRead ( $idEdit ) If $sTxt And ClipPut ( $sTxt ) Then _GUICtrlStatusBar_SetText ( $hStatusBar, 'Polygon Points were Copied to Clipboard.', 0, 0 ) Case $idButtonReduceLevel If $iAction Then Return If UBound ( $a ) > 1 Then $iReduce = 1 Case $idButtonFillPolygon If $iAction Then Return If UBound ( $a ) > 1 Then $bFilled = Not $bFilled If $bFilled Then ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Draw Polygon' ) Else ControlSetText ( $hGui, '', $idButtonFillPolygon, 'Fill Polygon' ) EndIf $iFillPolygon = 1 EndIf Case $idButtonStopScan If $iScan Then $iStop = 1 Case $idButtonPreview If $iAction Then Return If UBound ( $a ) > 1 Then $iPreview = 1 Case $idButtonOpen If $iAction Then Return $iOpen = 1 Case $idButtonRotate If $iAction Then Return If UBound ( $a ) > 1 Then $iAngleDeg = GUICtrlRead ( $idInputRotateDegree ) If $iAngleDeg < 0 Then $iAngleDeg = 360 + $iAngleDeg ElseIf $iAngleDeg > 360 Then $iAngleDeg = $iAngleDeg - 360 EndIf If $iAngleDeg <> 0 And $iAngleDeg <> 360 Then $iRotation = 1 EndIf EndIf Case $idButtonRescale If $iAction Then Return If UBound ( $a ) > 1 Then $iRescalePercent = GUICtrlRead ( $idInputRescalePercent ) If $iRescalePercent > 9 And $iRescalePercent < 201 Then If $iRescalePercent <> 100 Then $iRescale = 1 Else MsgBox ( 262144+16, 'Info', 'Rescale Percent Limit : 10 To 200 %', 4, $hGui ) EndIf EndIf Case $idCheckboxMute If _GuiCtrlIsChecked ( $idCheckboxMute ) Then SoundPlay ( '' ) Case $idCheckboxOnTop WinSetOnTop ( $hGui, '', _GuiCtrlIsChecked ( $idCheckboxOnTop ) ) EndSwitch EndFunc ;==> _GuiEvents() Func _LzmaDec ( $Source ) ; by Ward Local $__LZMADLL = $sInstallDir & '\LZMA.DLL' If Not FileExists ( $__LZMADLL ) Then Lzmadll ( 'LZMA.DLL', $sInstallDir ) If @error Then Return SetError ( 1, 0, $Source ) If BinaryLen ( $Source ) < 9 Then Return SetError ( 2, 0, $Source ) Local $Src = DllStructCreate ( 'byte[' & BinaryLen ( $Source ) & ']' ), $Ret DllStructSetData ( $Src, 1, $Source ) $Ret = DllCall ( $__LZMADLL, 'uint:cdecl', 'LzmaDecGetSize', 'ptr', DllStructGetPtr ( $Src ) ) If @Error Then Return SetError ( 3, 0, $Source ) Local $DestSize = $Ret[0] If $DestSize = 0 Then Return SetError ( 4, 0, $Source ) Local $Dest = DllStructCreate ( 'byte[' & $DestSize & ']' ) $Ret = DllCall ( $__LZMADLL, 'int:cdecl', 'LzmaDec', 'ptr', DllStructGetPtr ( $Dest ), 'uint*', $DestSize, 'ptr', DllStructGetPtr ( $Src ), 'uint', BinaryLen ( $Source ) ) If Not @Error Then Return SetExtended ( $Ret[0], DllStructGetData ( $Dest, 1 ) ) Else Return SetError ( 5, 0, $Source ) EndIf EndFunc ;==> _LzmaDec() 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 _PixelGetNeighbour ( $x, $y ) GUISwitch ( $hGuiDebug ) Local $i = 0, $White = 0xFFFFFFFF, $LabelFillColor = 0xFF0000 Local $iRowOffset1 = $y * $iW + 1 Local $iRowOffset2 = ( $y -1 )*$iW + 1 Local $iRowOffset3 = ( $y +1 )*$iW + 1 Local $iRowOffset4 = ( $y -2 )*$iW + 1 Local $iRowOffset5 = ( $y +2 )*$iW + 1 For $j = 0 To 24 If $j <> 12 And $iDebug Then GUICtrlSetBkColor ( $aIdLabel[$j], 0xFFFFFF ) Next ; draw 3x3 If DllStructGetData ( $tPixel, 1, $iRowOffset2 + $x -1 ) <> $White Then ; x -1, y -1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[6], $LabelFillColor ) $i += 1 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset2 + $x ) <> $White Then ; x, y -1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[11], $LabelFillColor ) $i += 2 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset2 + $x +1 ) <> $White Then ; x +1, y -1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[16], $LabelFillColor ) $i += 4 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset1 + $x -1 ) <> $White Then ; x -1, y If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[7], $LabelFillColor ) $i += 8 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset1 + $x +1 ) <> $White Then ; x +1, y If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[17], $LabelFillColor ) $i += 32 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset3 + $x -1 ) <> $White Then ; x -1, y +1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[8], $LabelFillColor ) $i += 64 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset3 + $x ) <> $White Then ; x, y +1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[13], $LabelFillColor ) $i += 128 EndIf If DllStructGetData ( $tPixel, 1, $iRowOffset3 + $x +1 ) <> $White Then ; x +1, y +1 If $iDebug Then GUICtrlSetBkColor ( $aIdLabel[18], $LabelFillColor ) $i += 256 EndIf ; draw 5x5 If $iDebug Then If DllStructGetData ( $tPixel, 1, $iRowOffset4 + $x -2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[0], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset4 + $x -1 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[5], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset4 + $x ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[10], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset4 + $x +1 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[15], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset4 + $x +2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[20], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset2 + $x -2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[1], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset2 + $x +2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[21], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset1 + $x -2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[2], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset1 + $x +2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[22], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset3 + $x -2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[3], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset3 + $x +2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[23], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset5 + $x -2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[4], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset5 + $x -1 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[9], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset5 + $x ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[14], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset5 + $x +1 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[19], $LabelFillColor ) If DllStructGetData ( $tPixel, 1, $iRowOffset5 + $x +2 ) <> $White Then GUICtrlSetBkColor ( $aIdLabel[24], $LabelFillColor ) EndIf GUISwitch ( $hGui ) Return SetError ( $i = 495, 0, $i ) EndFunc ;==> _PixelGetNeighbour() Func _PixelSetNext ( $iCase ) Local $aRet[2] $aRet[0] = $iX $aRet[1] = $iY Switch $iCase ; Exit MsgBoxes are used for debug. #Region ------ 4 Cases ------------------------------ Case 170 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch #EndRegion --- 4 Cases ------------------------------ #Region ------ 3 Cases ------------------------------ Case 227, 163 Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[0] = $iX +1 EndSwitch Case 142 Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 174 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 298 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 426 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 226, 162 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[1] = $iY +1 EndSwitch Case 234 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 138, 394 Switch $iBottomDir Case -1 $aRet[0] = $iX -1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 1 $aRet[1] = $iY +1 EndSwitch Case 171 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 106 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 1 $aRet[0] = $iX +1 EndSwitch Case 168 Switch $iBottomDir Case -1 $aRet[0] = $iX -1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 169, 172 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 42 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch #EndRegion --- 3 Cases ------------------------------ #Region ------ 2 Cases ------------------------------ Case 490 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 430, 398 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 366, 302, 46, 110 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch Case 399, 139, 395 Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 175, 173 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 235 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 143 Switch $iBottomDir Case -1 $aRet[1] = $iY +1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 482, 419, 418, 483 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[1] = $iY +1 EndSwitch Case 393, 392, 397, 141, 137, 136, 396 Switch $iBottomDir Case -1 $aRet[0] = $iX -1 Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 35, 290, 355, 99, 354, 291, 34 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 $aRet[0] = $iX +1 EndSwitch Case 233, 236, 237, 232 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 228, 224, 225, 164, 165, 229, 160 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Switch $iRightDir Case -1 $aRet[1] = $iY +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 74, 14, 78, 330, 270, 334, 10 Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 1 $aRet[0] = $iX -1 EndSwitch #EndRegion --- 2 Cases ------------------------------ #Region ------ 2 Cases simple ------------------------------ Case 198, 131, 130, 194, 450, 134, 386, 135, 387, 195, 454, 391, 199, 451, 390, 455; ; $iBottomDir Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 462, 458, 206, 202 Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX -1 EndSwitch Case 231, 230, 167, 166 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 238 Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX -1 EndSwitch ; $iRightDir Case 297, 108, 44, 361, 105, 296, 40, 41, 300, 104, 301, 45, 360, 364, 365, 109; Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 428, 429, 425, 424 Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 363, 43, 299, 107 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 427 Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch #EndRegion --- 2 Cases simple ------------------------------ #Region ------ 1 Case ------------------------------ Case 422, 423, 486, 487; Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 38, 294, 295, 39, 102, 358, 103, 359; Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 203, 207, 459, 463; Switch $iBottomDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 239; Switch $iBottomDir Case -1 $aRet[0] = $iX +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 200, 201, 457, 456, 461, 205, 460, 204; Switch $iBottomDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 494; Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX -1 EndSwitch Case 7, 6, 3, 2, 259, 258, 70, 66, 323, 67, 263, 322, 71, 326, 327, 262; Switch $iBottomDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 448, 128, 384, 192, 196, 129, 132, 449, 452, 388, 385, 389, 193; Switch $iBottomDir Case -1 $aRet[1] = $iY +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 47, 303, 111, 367; Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX +1 EndSwitch Case 431; Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY +1 EndSwitch Case 11, 15, 79, 75, 267, 335, 271, 331; Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[1] = $iY -1 EndSwitch Case 488, 489, 492, 493; Switch $iRightDir Case -1 $aRet[0] = $iX -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 491; Switch $iRightDir Case -1 $aRet[1] = $iY -1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 416, 480, 484, 420, 485, 481, 421, 417; Switch $iRightDir Case -1 $aRet[1] = $iY +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch Case 73, 8, 72, 9, 76, 265, 12, 264, 13, 77, 329, 328, 269; Switch $iRightDir Case -1 Exit MsgBox ( 262144, 'Case -1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 $aRet[0] = $iX -1 EndSwitch Case 288, 292, 36, 32, 100, 33, 96, 289, 356, 293, 101, 352, 37, 357, 353; Switch $iRightDir Case -1 $aRet[0] = $iX +1 Case 0 Exit MsgBox ( 262144, 'Case 0', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) Case 1 Exit MsgBox ( 262144, 'Case 1', 'ScriptLine : ' & @ScriptLineNumber & @CRLF & '$iCase : ' & $iCase & @CRLF & '$iBottomDir = ' & $iBottomDir & @CRLF & '$iRightDir = ' & $iRightDir ) EndSwitch #EndRegion --- 1 Case ------------------------------ Case 0, 495, 511 Exit MsgBox ( 262144+48, 'Error !', 'Case : ' & $iCaseCurrent ) Case Else ; for debug If $iBottomDir <> 0 Then ClipPut ( ' Case ' & $iCaseCurrent & @CRLF & _ ' Switch $iBottomDir' & @CRLF & _ ' Case -1' & @CRLF & _ ' $aRet[0] = $iX' & @CRLF & _ ' $aRet[1] = $iY' & @CRLF & _ ' Case 0' & @CRLF & _ ' MsgBox ( 262144, ' & Chr ( 39 ) & 'Case 0' & Chr ( 39 ) & ', ' & Chr ( 39 ) & 'ScriptLine : ' & Chr ( 39 ) & ' & @ScriptLineNumber & @CRLF & ' & Chr ( 39 ) & '$iCase : ' & Chr ( 39 ) & ' & $iCase & @CRLF & ' & Chr ( 39 ) & '$iBottomDir = ' & Chr ( 39 ) & ' & $iBottomDir & @CRLF & ' & Chr ( 39 ) & '$iRightDir = ' & Chr ( 39 ) & ' & $iRightDir )' & @CRLF & _ ' Case 1' & @CRLF & _ ' $aRet[0] = $iX' & @CRLF & _ ' $aRet[1] = $iY' & @CRLF & _ ' EndSwitch' & @CRLF ) Else ClipPut ( ' Case ' & $iCaseCurrent & @CRLF & _ ' Switch $iRightDir' & @CRLF & _ ' Case -1' & @CRLF & _ ' $aRet[0] = $iX' & @CRLF & _ ' $aRet[1] = $iY' & @CRLF & _ ' Case 0' & @CRLF & _ ' MsgBox ( 262144, ' & Chr ( 39 ) & 'Case 0' & Chr ( 39 ) & ', ' & Chr ( 39 ) & 'ScriptLine : ' & Chr ( 39 ) & ' & @ScriptLineNumber & @CRLF & ' & Chr ( 39 ) & '$iCase : ' & Chr ( 39 ) & ' & $iCase & @CRLF & ' & Chr ( 39 ) & '$iBottomDir = ' & Chr ( 39 ) & ' & $iBottomDir & @CRLF & ' & Chr ( 39 ) & '$iRightDir = ' & Chr ( 39 ) & ' & $iRightDir )' & @CRLF & _ ' Case 1' & @CRLF & _ ' $aRet[0] = $iX' & @CRLF & _ ' $aRet[1] = $iY' & @CRLF & _ ' EndSwitch' & @CRLF ) EndIf ConsoleWrite ( '$iBottomDir : ' & $iBottomDir & @Crlf ) ConsoleWrite ( '$iRightDir : ' & $iRightDir & @Crlf ) ConsoleWrite ( 'UBound ( $a ) -1 : ' & UBound ( $a ) -1 & @Crlf ) If UBound ( $a ) -1 = 1 Then $iFlag += 1 Return SetError ( 1 ) Else Exit MsgBox ( 262144+16, '! Case Not Found !', ' : ' & $iCaseCurrent ) EndIf EndSwitch If $iOneByOne Then ; for debug MsgBox ( 262144+64, 'Case', ' : ' & $iCaseCurrent ) EndIf Return $aRet EndFunc ;==> _PixelSetNext() Func _PolygonArray2String ( $aPoints, $sVarType='Local', $iMaxLenLine=4000 ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) $aPoints[0][0] = UBound ( $aPoints ) -1 $aPoints[0][1] = 0 Local $aSize = _PolygonGetSize ( $aPoints ) Local $sString = $sVarType & ' $aPoints = [' For $i = 0 To UBound ( $aPoints )-1 $sString &= '[' & Int ( $aPoints[$i][0] ) & ',' & Int ( $aPoints[$i][1] ) & '],' Next Local $aRet = StringRegExp ( $sString, '(.{1,' & $iMaxLenLine & '}\],)', 3 ) If @error Then Return SetError ( 2, 0, '' ) $sString = '' For $i = 0 To UBound ( $aRet ) -1 $sString &= $aRet[$i] & ' _' & @CRLF Next $aRet = 0 $aPoints = 0 Return '; Code Generated by Shape2Polygon, Polygon Size=' & Int ( $aSize[0] ) & 'x' & Int ( $aSize[1] ) & ' (reduction level=' & $iReduction & ') from ' & $sFile & @CRLF & StringTrimRight ( $sString, 5 ) & ']' EndFunc ;==> _PolygonArray2String() Func _PolygonDraw ( $aPoints, $iFill=0, $iPencil=0, $iDrawColoredPoints=0, $ColorPoints=0xFF0000 ) If $fRatio <> 1 Then For $i = 1 To UBound ( $aPoints ) -1 $aPoints[$i][0] = Int ( $aPoints[$i][0]/$fRatio ) $aPoints[$i][1] = Int ( $aPoints[$i][1]/$fRatio ) Next EndIf _GDIPlus_GraphicsClear ( $hGfx_Buffer, 0xFFFFFFFF ) If Not $hBitmapPencil Then $hBitmapPencil = _GDIPlus_BitmapCreateFromMemory ( PencilPng() ) _GDIPlus_GraphicsDrawPolygon ( $hGfx_Buffer, $aPoints ) If $iFill Then _GDIPlus_GraphicsFillPolygon ( $hGfx_Buffer, $aPoints ) If $iDrawColoredPoints Then Local $hBrush = _GDIPlus_BrushCreateSolid ( 0xFF000000 + $ColorPoints ) For $j = 1 To UBound ( $aPoints ) -1 _GDIPlus_GraphicsFillEllipse ( $hGfx_Buffer, $aPoints[$j][0] - 2, $aPoints[$j][1] - 2, 4, 4, $hBrush ) Next _GDIPlus_BrushDispose ( $hBrush ) EndIf If $iPencil Then _GDIPlus_GraphicsDrawImageRect ( $hGfx_Buffer, $hBitmapPencil, $aPoints[UBound ( $aPoints ) -2][0], $aPoints[UBound ( $aPoints ) -2][1] -50, 50, 50 ) _GDIPlus_GraphicsDrawImage ( $hGraphic, $hBmp_Buffer, 0, 0 ) $aPoints = 0 EndFunc ;==> _PolygonDraw() Func _PolygonGetPos ( $aPoints ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) Local $aRet[2] Local $iXMax = _ArrayMax ( $aPoints, 1, 1, -1, 0 ) Local $iYMax = _ArrayMax ( $aPoints, 1, 1, -1, 1 ) Local $aSize = _PolygonGetSize ( $aPoints ) $aRet[0] = $iXMax - $aSize[0] +1 $aRet[1] = $iYMax - $aSize[1] +1 $aPoints = 0 Return $aRet EndFunc ;==> _PolygonGetPos() Func _PolygonGetSize ( $aPoints ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) Local $aRet[2] Local $iXMin = _ArrayMin ( $aPoints, 1, 1, -1, 0 ) Local $iYMin = _ArrayMin ( $aPoints, 1, 1, -1, 1 ) Local $iXMax = _ArrayMax ( $aPoints, 1, 1, -1, 0 ) Local $iYMax = _ArrayMax ( $aPoints, 1, 1, -1, 1 ) $aRet[0] = $iXMax - $iXMin +1 ; width $aRet[1] = $iYMax - $iYMin +1 ; height $aPoints = 0 Return $aRet EndFunc ;==> _PolygonGetSize() Func _PolygonReducePoints ( $aPoints, $iLevel = 4 ) ;~ Local $hTimerInit If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) If $iLevel = 0 Then Return $aPoints Local $j, $m, $n, $u = UBound ( $aPoints ) -1, $iTimerInitReduce = TimerInit() Do $j = 0 For $i = UBound ( $aPoints ) -1 To 3 Step -1 $m = $aPoints[$i][0] - $aPoints[$i -2][0] $n = Abs ( $aPoints[$i][1] - $aPoints[$i -2][1] ) If ( $aPoints[$i][0] = $aPoints[$i -1][0] And $aPoints[$i][0] = $aPoints[$i -2][0] ) Or _ ( $aPoints[$i][1] = $aPoints[$i -1][1] And $aPoints[$i][1] = $aPoints[$i -2][1] ) Or _ ( $m > 0 And $m < $iLevel And $n > 0 And $n < $iLevel ) Or _ ( $m < 0 And $m > - $iLevel And $n > 0 And $n < $iLevel ) Then _ArrayDelete ( $aPoints, $i -1 ) $j+=1 EndIf If TimerDiff ( $iTimerInitReduce ) > 500 Then _GUICtrlStatusBar_SetText ( $hStatusBar, Round ( 100*( 1 -$i/$u ), 2 ) & '%', 1, 0 ) ControlSetText ( $hGui, '', $idEditCurrentPointCount, UBound ( $aPoints ) -1 ) $iTimerInitReduce = TimerInit() Sleep ( 10 ) ; limit cpu EndIf Next Until $j = 0 _GUICtrlStatusBar_SetText ( $hStatusBar, '', 1, 0 ) $aPoints[0][0] = UBound ( $aPoints ) -1 ;~ ConsoleWrite ( '!-->-- [' & @ScriptLineNumber & '] TimerDiff _PolygonReducePoints : ' & TimerDiff ( $hTimerInit ) & @Crlf ) Return _PolygonSetPos ( $aPoints ) EndFunc ;==> _PolygonReducePoints() Func _PolygonRescale ( $aPoints, $Percent, $xPos= -1, $yPos = -1 ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) If $Percent < 1 Then $Percent = 1 Local $aSize = _PolygonGetSize ( $aPoints ), $aPos = _PolygonGetPos ( $aPoints ) If $xPos = -1 Then $xPos = $aPos[0] + $aSize[0]/2*( 1 - $Percent/100 ) If $yPos = -1 Then $yPos = $aPos[1] + $aSize[1]/2*( 1 - $Percent/100 ) For $i = 1 To UBound ( $aPoints ) -1 $aPoints[$i][0] = $xPos + $Percent*( $aPoints[$i][0] - $aPos[0] )/100 $aPoints[$i][1] = $yPos + $Percent*( $aPoints[$i][1] - $aPos[1] )/100 Next $aPoints = _PolygonUniqueInt ( $aPoints ) Return _PolygonSetPos ( $aPoints ) EndFunc ;==> _PolygonRescale() Func _PolygonRotate ( $aPoints, $AngleDeg=0, $iCenterX=-1, $iCenterY=-1 ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) Local $aSize = _PolygonGetSize ( $aPoints ), $aPos = _PolygonGetPos ( $aPoints ) If $iCenterX = -1 Then $iCenterX = $aPos[0] + $aSize[0]/2 If $iCenterY = -1 Then $iCenterY = $aPos[1] + $aSize[1]/2 Local $fPi = ACos( -1 ), $AngleRad = $fPi*$AngleDeg/180, $x, $y Local $CosAngle = Cos ( $AngleRad ), $SinAngle = Sin ( $AngleRad ) For $i = 1 To UBound ( $aPoints ) -1 $x = $aPoints[$i][0] - $iCenterX $y = $aPoints[$i][1] - $iCenterY $aPoints[$i][0] = $iCenterX + $x*$CosAngle - $y*$SinAngle $aPoints[$i][1] = $iCenterY + $x*$SinAngle + $y*$CosAngle Next Return _PolygonSetPos ( $aPoints ) EndFunc ;==> _PolygonRotate() Func _PolygonSetPos ( $aPoints, $x=0, $y=0 ) If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) Local $iXMin = _ArrayMin ( $aPoints, 1, 1, -1, 0 ) Local $iYMin = _ArrayMin ( $aPoints, 1, 1, -1, 1 ) For $i = 1 To UBound ( $aPoints ) -1 $aPoints[$i][0] = $x + $aPoints[$i][0] - $iXMin $aPoints[$i][1] = $y + $aPoints[$i][1] - $iYMin Next Return $aPoints EndFunc ;==> _PolygonSetPos() Func _PolygonUniqueInt ( $aPoints ) ; based 1, Remove points doublon. If UBound ( $aPoints, 2 ) <> 2 Then Return SetError ( 1, 0, '' ) Local $sString, $j, $sTmp = '', $iCount = 0, $u = UBound ( $aPoints ) -1, $iTimerInit = TimerInit() Local $aRet[UBound ( $aPoints )][2] $aRet[0][0] = $aPoints[0][0] $aRet[0][1] = $aPoints[0][1] $iCount += 1 For $i = 1 To $u $sString = Int ( $aPoints[$i][0] ) & Int ( $aPoints[$i][1] ) & @CRLF If StringInStr ( $sTmp, $sString ) = 0 Then $sTmp &= $sString & @CRLF $aRet[$iCount][0] = $aPoints[$i][0] $aRet[$iCount][1] = $aPoints[$i][1] $iCount += 1 Else $j+=1 EndIf ; Display Progress. If TimerDiff ( $iTimerInit ) > 500 Then ControlSetText ( $hGui, '', $idEditCurrentPointCount, $u - $j ) _GUICtrlStatusBar_SetText ( $hStatusBar, Round ( 100*( $i/$u ), 2 ) & '%', 1, 0 ) Sleep ( 10 ) ; limit cpu $iTimerInit = TimerInit() EndIf Next ReDim $aRet[$iCount][2] $aRet[0][0] = UBound ( $aRet ) -1 $sTmp = 0 $aPoints = 0 Return $aRet EndFunc ;==> _PolygonUniqueInt() Func _ScriptIsAlreadyRunning() Local $aWinList = WinList ( AutoItWinGetTitle() ) If Not @error Then Return UBound ( $aWinList ) -1 > 1 EndFunc ;==> _ScriptIsAlreadyRunning() Func _WM_COMMAND ( $hWnd, $iMsg, $wParam, $lParam ) #forceref $hWnd, $iMsg, $wParam, $lParam Local $nNotifyCode = BitShift ( $wParam, 16 ) Switch $nNotifyCode Case 0x300 ; $EN_CHANGE Switch $lParam Case GUICtrlGetHandle ( $idInputRotateDegree ) Local $iAngleDeg = GUICtrlRead ( $idInputRotateDegree ) Select Case $iAngleDeg < -359 Or $iAngleDeg > 359 ControlSetText ( $hGui, '', $idInputRotateDegree, 0 ) EndSelect EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==> _WM_COMMAND() Func _WM_PAINT ( $hWnd, $iMsg, $wParam, $lParam ) #forceref $hWnd, $iMsg, $wParam, $lParam Switch $hWnd Case $hGui If Not $iScan And UBound ( $a ) > 1 Then _GDIPlus_GraphicsDrawImage ( $hGraphic, $hBmp_Buffer, 0, 0 ) EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==> _WM_PAINT() Func HeartIco ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; Code Generated by BinaryToAu3Kompressor. Local $sFileBin = '0xEAB20000000100020020200101702000A8100000263000000010003801786804680000CE002C28004C0088006E40000C015C010080005CCC0022AB84017100088001CE8001CC8001AA07F03FA2C000FFC4009EBF136D2A0078C81EC50075BF1522005B6DC000FED01FC10457BF171A0049B5C000FAC81CFDC400C503F9C000AE46BF19120081F2F6CC3C6E6000EA706C02F560003DDF091F00080055E109F4EC0C85E8038A6C03F25D600039DF0A1F00640FF3EC0B93D5F0049A6C04F160003ADF0B7E2EDDED1E9942AA0F0061029F6C05E1167B7F31130044F03D611C710F0500026D6000A16C06E11741DF0D0A0045FD700F967C0F6910E19169076109E119D11F00000042700F92DF066E31ABE1346D103FFC0637F03D8FDF0DD5761097F0623378D9EB7F0F1F00573C08711B3905E930001FBF6C007ED27F2E0F000F000F003F087E31D0EF34070500710EF901B074240F000F00AB0F000F00033000B33C068DB401AA273000FC7801D530000B2F04AF0F000F000F0008000C3000D778066AFB30002530009438017108319FAF030F000F000F000F000035FC6A757135DDF800AB2F030F0008002E5D3000156F010F000800ADF806DA3F3473F96C0F000F00010090AE00CF5D3000AFAF010F0008006FFC7AEE5DF8007CEF020F0004007D780361A7EF010F007F0300ED3000C5F800EEC3EF020F0000002B7C13714543BEAB0F000D00C27803C430007B7C31F6472F037E17C9FF97720571360F006D0700433C03F11616348B3501ECFD30002FAF03BF423F00B2340F0003005521D1E8FC6018B401723F9400AA79300012F8031A3000A37C02CAE23000E1BF4B00237803B144DE6DF4887902F1053952A7FF0C3242AED87443394A3100F8F46A32FC13DFB5B0B135315D71027D05B1FF55721DFFBD623F003785F97C7196B12CBF023F006D311406EF193AB6CD7F033600B6BBFC15F919A87F1236007114566F03AF0F0004003128B1B59030008E3000AE6BF45A0F000B001C3000643000EA8C30009174D138BF930F000F00010F000000DDB10A004A00FF0100FE7FFFFF04FC3F0306F81FFFFFF0000FFFFFE007FFFFC00003FFFF8181FFFF0300C0FFFE03C07FFC0780E03FF80FF01FF00005AEE0000D0115001D01000381002902C00031E00FFE7FF00F02FC01033FF00FF81FF00007F00FE003F00FC00080C003018000000100C0018003F003C00F56FC0047017A28008310000320850003010205000040042EC65608840135009E80019BB41D74AB01A3840170AC1D5F8001FE8001AADC8001DD84055CA41D5BC000AAFCC000E5C00022C00024C000AAE7C40457DC0E5EC000FDC000AAE6C00027C8052AC000EAC410F65ADC0EC11D26D007C110C121C108F5CD3250C416E4C42B1500C124C12655C10A4DC40425C000F4C000EBABD41DD121EDC000F3C41AAEC457AA43E86746C475ABC000F5C000AAC3D40941C00030D406C7C42D55C122CDD0070BC000DEC000D355C00007D007D0C000ECC000A255C42255EC0399E84F946C0353BBE40261071E6427612AE15D6A642255E103C56000C46401B2600068F5E40AFB640F1FE409C175E119E50D556100B4600011C478AF6C03CCEBE4300D0029600049643A0D0061592561032D8902FE7F6300FC3F080000F8A011F00F00000CE1870032203287E10000040FF08014F800003E7C0000003C3C00001C3841E30680010000E32016' $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 ;==> HeartIco() Func LaLineaMp3 ( $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 &= 'SXmUyvRSW0srYILdDGILv9dwF7qkguvGzTR+omRd/cekmXlrvPmwjoBl1jWVITeO4bVJN2MBFV98ZKElw2F1PsklVvRfWKFTANz+ky8iQRSXzGK2/oKeYuQ7Uom4OKSk4Qp70Vlj0Tp8HDRjvno0mFmZxgKQ/wrFhVcSisAt7rVdl79EN+fNMSxPzYGI0WO06GY8RJZXjOs9S0PEHJJpsBNZx5GiUlWylMn/nQc/ALvWNUBQ+bfXx7M+qAydirsgmw8ov6aSKz858BFDwzMEq5Cw0pypB3aXr0yg5uTO64ap5v5fZ8Ms59UVOA21qQFk5ueUv1JGLxtBS9fw5xzeFb2kD7f0S2iy89dTBHZpX7xCm+1TSHSFjCmA6UwxF1yopun5WzHuo7m+H1HYrnFodjNhsXW/2MzrCTzP7N2fvTG7a/67TiWPomx0vRm4P1Cep/23IsQwqDEgpaX7YvcjGPMCMw+0opPeg0DEEhCz7H3DTuiQN8QwcDYd7Zwvne7OR8juukVhRof1jI4tCxIQv+OyShkrc0I6PkVXA+17tbe49ZbOc8YzsxegXkVxJDhBsJx7edBj5XPKWrLyeI1CXu5Los5P2GMPDRrnJVnqy5b7jYiaWjwjNVfe6ML1NVmBFOhIya3kow/i27mq1EaRO4rYUcz7M6SF2mHMlguMdVR2dwwPhGD+GS5CpLlx4F6SpUASGleaFb2eL+8bPSFqrIcBBN5tQ/8gbsyCaq2mmv6lQ5IMI+DAy93H5L4noHzhRAtjMml1fOyLro/jtal9ZwjbkHH46PlCiaXDWodItJmnsBY/yGCA7fpelRNbnfosJEFiXd9xnJ0HfJTG+XBCeenKNg4FC/+s6tIqAQTxw64CyNLLlD3OoL7U4puNpj6DTGEvnAO8vPgNuJSsk58PDAGAkKrXNBhPZixwadQkPBftOSirbEZDyxc9dkwoXCjwnmRP3tKZ6KEQrgujH8dSUVPssdBhehLFuSSPhvFtdECsNqjT2TBN7AKdLEOAqBW+WQtSdur7fXMb/RU8oYFe/36J0tYSim70uMCNe2fcDF7SlaushAYXxHVweZ02eNVxMJkLOUnCR0M9iSlQfAh997EP20O/Zrx4BYslS5WhGjiMoPOfQuR+LUyqSyE+Fqwt2a7BOmITTrCF5dYL64RSMxIydqO1zHHNqncD106FFTMY8SSIzYhVrUvVaUHxp2ruEtwb+rfiaB7ZAX/CHSmp6XSzC6mON61i15SwsAu+ujz8sNZnm8Rl/CIq15FDDjbc0C21ycCCs+dtIt5jZKktmY4C8M4qh1Ns19wm7MPF4Fn6zfvK0SP5oOkQhmyvEjxRrudpns+qXJ4LNgoXC0ghEi+uvVEJO9hqolCn8zGJiyNuAB51SrtNpgfv5BSVIISJBArrtCC3On990E0uq7Fbgs5HdDSIolbp2pJwemOlsDWBU+9a0deM58VKfXlDGQuA0174DHBJ6eUt68k8kcgDlxbfjolDMHhQPb0yJSeIXIFCedqnJIN4IAbEKh5AXfFLkCQW7u02lHZpbw4r7FBZe2SNdEwvU8el2EhY47qpW3UeC+7WhR2nTHFIRFM20+VUtToHFWEOa67wm817EFugyNawwltHVWMEEAbAUMUfBAWHIK5J1vj0Q7FzQHwR+XmUKRba/D5eXtnk2YlkDQOT8bfoe7a2ctHwkCzm9L4zY9bi7gZyjK7RwlQP8doCQDiJQFACwGXpIc/ZI2DcMtTOsibYtI8nSEG3ZcfUS3oCYjVlTMqPAQuhOL4iSTbV5ZFrgr+xodxnh70uVFu0m7hkgcCqmwXOA8F8JcWjkwxxCfqYAEd0VX7hQxtvJuSZfsm+DouBTeSmuF9qyhSQ+Ea+XFc4RCNhBHjRCFhUa5gRUqibz04eWJgt5tJX5MIlQgYScgUk1th04EN4dh3rj0YJ+fsaMJItKck+3PoZ5uTak4FVHzJlQTfRk++0U2oHLltj40wKvoFDgFaPs/0DNmuQaGK5EFlm/fKJ1l8wTkJ12/r0s19SpquH2Dsorzb+ivDxsIEWhnf3k+94mE8jTmGy/OI2V4AQd+zft1b9+V4giTz6kvGW3EcGuCsZAMJzH2wvnp6jj8pDkHrs1tCw2W0u3SzdikPe/SrGn77rEfc564dHHiPMuuG80ROc2oXmrObz7Y3IVr0IObwxyFh2tmyJjEDKU29Z+PuPYkv7hw8sQ0QUwcPkGnQ9hmlLpu2o6PfnCbtG9KzNKyJji7NGPxDvbTp5u/aiezObq9JBMyOjdX+FE1tlnfDE4mXlttZHbk7woIEaTdO9CSVFIKJe6sQljsp9k3U5mpXnTBgAkE5XNMhsRAxLm4xrJtrfrAJm6qdlM9UUPl1DG+e72VFKn6dFjfrq5pjSo2V8PtizgQv1c3jE/eGhdJjlm6hbk06yYGIY8mTlSpzlVS6AJ6GQRGXxOz25nrUA2FnJ72dYaXXhkuy1AGcrgyAAzeS7S9F9nWBkeVoSdP7kj0pnFjzqxoq5cVab3oUuFM+1uPvqFS0t1s3OATI6OpZsg/FoQWYI4e7MAehTaa9qmbNbtNkdO8s95g1Ary1sKmz4G9ghlbJJLcoqfCOvFMUKS13FcMb7iG4pwSo+f+ymf84NDwEY9dU+0UDrvC7mYxbTLT5Aro8+bpAWrwrE1lT8z8mj7J7OlRcafkPDgcfPqsFLedMCSF9zkM3U7MTJ6Wh9tsGrOE6hhtw8HKt2XZUjBgbRjQohYt7sflf27RzOfFLpezRH7EpvE0BcCLaTJ7ZbCd2FUujMHSFsFeVsXMPbt5oMUTkUzf2OQkpzTMz6Atq2hZnJZK18Dy4SyuGkvfBYNI94iyAiOtgSkSpRqDqKCPwSLLFCvIwxy0R4I4Ef55fo07bkQjOSrJrVjd6drdPzkISrqPQ644XyFstAQP6+4TPMSEqwkfBLPN1hOYHe3v169wRpq2Q+zO6EBbGfjDxSne90JtNoFeeCrn76J6iYhVB2OXW/9o4wHuAPP6Ej39q9HoDOWMIm6t+yvCVp+kMPLL7TMxVz0VQMgBtSg5ypo+IanqeBznl44bRI+2n+1vefj+MnYeHPM/0bATNOTH1yK0BMxruAPXd2BKW3nPIb4MRlehhFMkmuT/fU60OvPOvVLxwVgK0EVXHnsTVU65gl+3TDbn9dtbPdqs2n9lHtOn6bKipOEqn5X2FqzzRqi6+hXe94wVD9b7HK4RERqmt7edIY9mLA6ioZUvBSc1S7tH28l2+vT3tKBM483n6EciNeiRdAiOdEa7fDT4VimWiwdM4Dzx6u/zXZqCxTDnYaDP6raF1YXiWNUG+ZYJam9UHRHylzvQwEsXV/zw8+S/XfNTEAKorjHPeTfcU2A+7DIWoqKWNoRCKdoEuskFBNqbLjp3P/Xv67DUK/Eij0aqC2cbAp9GEvdX5whuCmwJacgj/LrHSSmuwI1NPAwqXArX1WewOeag9lShFThhYnOizp1Umx3ewH3nuh0iYYkxYZFFmFHMUgRtyXowBr80PJLp1Av/R6qHheSJNBj1ZBxx78hZKDGg4EhWyPIwxUT0BX8/8ebNEfvjTjR8QbKz9HFHhz9W/6mPpo33J9Mle+69jolVY9DPZE4NapiJodAb9fPdOxGfTS49Ln6ppb2C6HiHgi3nKlxB7bjUkunkdDjvbaAhKt0A8FOkVaIgUpmY27OgDJho4Va9oSB51OkgP+y+jY4rZw/MPgUdqrLueJxTVhJCB+QFBkVIbdZiMvoDiaZ2oQkcPSAbZB9dbgXKTzsqzinvpasemTFtpN9NlEdUsUaQ+wrBk8UA5/TmkurEaRWMKNVwwNms9oouoBuSG1ZWj1Y/zhdmCBbLUe/Mxt8+ZRq7bSUl/Mqp6q6ggTgeO447c0YRWpK+blI6TB+/15pNiDRtVgAvFEvHYsxQE3/9asu3tt80y+CmDrB4wnbvA2mgWXrgW3kKF5yD0kMuG3ehw0/Qp/g9OhaALUoIH05cK/' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'bA3AT3SIiiyMNXWihljek8e+Lf+G8lYoyefysFT+GSxT0RnA7kL59kg2w4zIwSbnSNwr99plnYRk0bnHeF+qU0n3zclRbeWPErhw0Gn0ga13EB0Ix9EcMvkfE/4Y2gmk8/1qM3RmcnU+qp/ReR5bQ0tMmv5c/BzC8BKnOHWykUtAnWzbICCib2FDUrmdfZeKWLTcuFVEpn0iq7mg7zORl2WTIe1yiPeAfKaa5G4vzt5NN4Sld0W+4N8TCUx84j7aWHwCIODHtXgKONtJuE78R8wMT8/5znS850UHRvL8cBUGtPoLmFk1AmlNbpv9XLtMWV3VxHpXaS5x69KY48aCgXhH2nIhsGAAK10TWjB/+DDi5ysWT3P1Zl54xpMhYBa0kTdw0NZJvvo7oEe5GvPeUKaMv6lNVvhFlJX/EtR5UaA21ulgdcYkms7IoanWa6CnZVqp9G33vPrVFaCxYov1iNRklpQ6hvkHZGzIGeh7OaD8xxCOPUNHaOAtEvEASqW79GyUxV6BtLHEz+CDe9CpinMj/jQvDiIPXDyHr/uZZUvvyEjfUwryIPl91CphQF5PTqcBbpe5ygpsaoxQ7+8rpWT6PvS0HTDpcuM8JaVKzlaYY6tRssYlL2CfLwGyjHRmrnHSYhPGh6FFEBIi85E0N4bCXDUtb1b51DPW+GG6xfPvtYZnqwSsNUYbIGePJ5JBYjWIPUU1Icqijl2sTyCXjXywIzsQZaGOb4m2GJ1UFYfWkZ6I6n///msVrMHcKMjQxrxJ8PUUGstegpjzkBc9cRNzBVSgfUUm8lFLW9RiDwp9xoQcMW0MhDLQ4LEurBgMAN+ShPkORohmv23oYfQ00SwdPsdm5Hj6j48nH0mXONfmJI2QNDzU9mZFqRvk5J/S+AesELJWhcSD6CJm84qdC3XFbDdeAPmHcZY66CcfpIWAA2mp1YpDUn7n/DsT59GKyl92LiX4hymUuRB9ieyBhsQWfrlpsD2BYC+rL0BGGaLUjIgEKSmWIGuHJcbNB/L6jk9FmTA3iR/fMTCgx4Aj21vv7lqWzyYz1b3RAWKLL47cHRbyFpXc+MIHOyubZ4jGrpNgTARDKrwscJE2qHIG5/NBrrfmgl+bG08MUzQcF9kMiIlHNnwEjrl0JEIV60WECaYV2g4AVKRrOvHde0iWc0wutJ8d3oTjMA/Yashi+t9PIkN8Xj5eu/8HchXvKtgjgzsDl/cgVvp5zsYL6Mnefs2KZhRonakpfb/TBWG49e71nq0BYvH1Dhdcc+2d5hCyKD+O47GI7nj+tBdlu8gBIb7ahz2drFbqRIw7cj9v5NtC7ghgjBhWSsMwTUiB9xQ9sWx74akrsEoCn6ymddHwA4xZ9ivANaKHfc6JI+aUcI9QCqQTjMBb1Tfg0c/HCTSBHfy65bV1V0S0QpFuXhCvRoN6Fs6MezWPvMKd9nnkx6UJFWatkcId6lhd6//YMOZZ9jlS1xVlM7n2UV7FRJU4unNu3Wytl7INXAw68zuVXjKc4r4jLDjkM1WNz9uHPPIn6aj5jF1jwH+N+pM4NgdrYHfQ+s7kgv0JQttEI/mDmVtiZF3HjM+fXI7cUBeXLzQi/JgPVMkzgh/Tw/L4z1Dh7ZLMjuHhdAgd+G+aowkmVd+UNiaVGRL0CXELy+BcBBG/Ql0FpMVrd17LDP1SD43oT9g2VVieaDS0eBWEgcBoUsexixiaIgrbTwV6Ni9FoZaiiKUCBpGQq9m7Nc9wvz+bCiXKiywL3NCNI0UJLk68bi0HOWPvDmCas+MGq15H7z2vf4ApuItRv603sIgpL3Zx/4dCGoggjMGVovvZrm4McIadPSPfNi5pKkNA3i1600wHr4gTWMmzfY+RoCZYN+xXdVqZqTXeemGYkBdXvCnb0Q3/6VfeRNelgCaNMz6Keq3kJLZt7T8bVE1SrhHb4461CVQRoUJToY6xBe2YmNX1l3BRR4FUkqN0q4Kz9MLIP0mEADgMnEcBiddbPMsA7sui/z6NErIgzcbu/fCazGRoLFTl2c6P+PGOoLFFCuPCfHOAiSEdctU7WKU7VuL17rcuFxCjt24BhezVlqWONf63EuX4yKwIF4ahyGiC86UZkHv888nmXGoVjDcFsNIpJd/j2Jfk0sCOGHKmXuwp7iTObVnrEQcU2tQlYqPNwyp7dsOzK2hZodozQqVR/Fsp6T9nrXw+Eoesk8yWyv1TZSeT4NI7n7TaEUXT3MO8b1zaQI+14K3oXOdD5E2OYqXxSb2MpVkkcEcRfpNw5FqQnQwYxI0GTH4n0Q1kWyvMeuIDNwKgBjJiDmj/W5OlVbHo3yw7oFEwYCVoF6C72U6j4188W0xW7cU6Vk6EooqeelCRVKIid4HFZpsMdHJsweIEsfyiJ0iKNSrhPcNas+LTR6CfTzWqvzH8EBfUooxwv4QVsfhitPkzD8VwsPpEhEjHufrSgM3z6Fi1+TwaRj4252o5SpJR2ZcCVomoIdg3/FcDmCWAztjaMk5lwm7v1bzS8rmi/0CtJWXb1k7DbZbUWHcLbugp9bjk8U2LGDFwno6J44emV9B5jiJy/HVwTUxjgg6BwTntEeFReo5x7JWLZEa4Ea/2p8gbwPcXBk2crZYvAu0YDjEPMQDB81ns3ujGiaw1z6ySKwfNgAZH42BmzSdQ8bqzHy8QsE7blI5VP6yZGx7QkYvhPpFqT0sz+coCVKoTSyVxDnhW8w0faAn1QYBSHBabzre555yDFgJ7Lk1EPBQusIEP+WziR6oaJuMgnxojbJZpE4gzYx10871+AvGYLeBr+dmfajdPZ6tG6P6PO1SDPmiiRHmQvcxS2YF+hy1gZ8d673tbWL38aumEUA3Um0gTTvXUKUABld8H3iQooxUtzNp2nI/DJ0nTAgUW7WoHVo7MUrH4WjcpvjTvNvtV4XhlsTGCKRZ8HD/W1aBdByUigveoUdGtlrM95In6ShJB9+EiX7pgCDq09ZJF00eSFZ9rpxaOSdyOApU6ro+MAptxFAYF1mnRcNkvB0peBRHqPkoX+jnLYLR0Ew8YBUeEZasfINYRawFSTDuUJVkKuC02pLTBzqmDewd1Mouk37u+ahrn67UgGFH1PCSUWcPgn/xDpJXGRVE3h2yboVi29NrG+b8X5wliWfTOlwHTq+WfbwCGYKxpDs55JRHUP8IsAsqp/efsuEi2IWQ0qqPgmSeEv9qI1v2SDCLmXlY++W/ZkQ4Sg1KonOM/S6lP2HR8VfzXHxVqaC3U6+TiaBMsw93d/p3rYTpUSS57bvobBG+uAu2ebNgzoxubAguTYCxBFjtPiLK3ivWvtQrXlZpcIBMczBICxFt7N25AIjRKtJHzGSWozo3+LPMpUTIxPm5M6l4Icee1tssVisB3V+pnsg5ckdyTgqx4ywsnIXtRlmqm8kVlnvGAcDOoEHwey1O2lDczZUDeakzne7dld1NKP9ZkmcOLBrbU+YP8j4iDpDbhDe+WjBpWhRJs6mswOiWlrYhCELWis+k/T5cWoKO+k0HYLmiWgf2K6tixiv8Mc/kpkz0Hu0ofnJyOEngleKdDVTr7TspDds7NIkxWnh8RsQkVoNuL/GAwK7m79J67CmmnEiHrHJcKhtBKaElkSIC80qSr3NlWXhR6p+/D++43+ylM8JhpnYNRj3GdKWqLxcve/Gq7VwP/bs4VQvtE5FUYj/qAYauRTippL1wKGnojWeIJrkXgXaUjjb3123EHSRxGLdwywIWvn1qW+4GhHx5OjEqukjHtQkbZbGyd5O0giM8bs3Gw26yRhMsCTwZiRMs5HqjybnA2HwDtjDRiZ0FPi3vQil3l/qs3vEYxo6upMVCRiJprvLHtiLXiJbFwPoI7rhzigi3mrePV6NfByTzNHHfYuynj6TqqheWUiGkZ7Gm/hKTUoHbJ1gXl5OJi1Vk/Cgi1Z6Z8PskRsLdLybnths3qCehmv+PpLZCBO06iIfg7EhInzbSj+SO8rlbH03auXEJd0p6pfzID' $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 &= '8x0q3utqIK8V36Rzv3vJMcYdS/O9IXzxl7pBi19PMIDc4EbOsnwtnszGmzwZ/r9XOzd4VlK2Ez2dt6yrjv6+6iLDAB8rjTITctuaDa+LD1/wEdzMEdEqICGyxyP87q+Ef5v7CuoIAZVu6R5NE0Plw68iNmI3edESuUKoso2B6hm6ByUNDQML1pKXOf1H1MenYrbOKtBPhZ2cTYBRf4xUlBnadrLnOZ+664LuOKz+BIb5nn+1dglEJqinJOzwVk5P8lbVLt7x0xhUYZ3ATWhRxynNzFJ1X2tEsJijRSN0FVAn7Qs5Vruy5Gsv/BUeT6aZQnWiNijqBYrp8qQrjkp2w707A2FXLTxKURsZwzvaJ/tV94rkgbtM1s9wIaa5bB9ErBpOGNEk2PLHNf6W7ERX8YI4ApfZXGF/wrD3lafP1eume2toDDSuBukWhS/sjiz+QSyrfGroD2gY7OzdEbXFfUwH4yiY817oyDdMwLqf56GxCzxVxo6J2Lv900aA+ns2eZ/BOz9DC+vnLc+I8BVrfu0kT3vINijTPVTxTFjYGSZQvMa21fFmcXun68v3yc8JIWQ/m7b1W5+gTy6P81nd6JLHjcaducoWsA4penSeac2ZbM22TsOCA8r0oCkJr0Y9sONSJ6hKa0VH8X4xMkkPYDbmFJckhJwV1WPQYkDCJt3VW6CR5LV36h/WxOh3mz19rX4kBux64fjWZeR0ajkh2fd1pW/i8LWEhNDPMno8UvfAPEnEpz9WGwAQ+38SAmBO4jRTaj8AEugSIVlw6CqcwEK/11fopTKlO5F0XR568VHldF3jcAMNo7r8SYArt8BrDScVR0LUQ7vBkqD1DNRdD7QDRSu5zfNRjt42VrNwCBv+qJcNsJqdcunMHf5nTdKZFWxBl3CCqXL0TLdpXqiD+G792xoMPLflxfXQZTEoJ9WjiZsQ2RlzFasQpPCz0vNDOWKBa0l3tn3KPYp+oTeCZu/qdee0w+Dv8BFjIyA=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $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 ;==> LaLineaMp3() Func Loader_55X55Avi ( $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 = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $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 ;==> Loader_55X55Avi() Func Lzmadll ( $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 = 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 ;==> Lzmadll() Func PencilPng() ; Code Generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= 'qYKP1ZhuPCanIM4xp9w3kQcfVbP8nccfFv1JXl+JM+PdbyisgTf9hQGPosx6HtxINuAvNBHJN6YUGlAyd/MCLCYpYrIGKYF5jh6uik86JGsmS/hwOvzdyF2XgfYqlr/wZ4HVRd3LeJU/PDyMDA+/LQ3oznTqKrvUUXDmUaorVVckVVcgeTMxbQv6Bw5JWoAJvWOGfsX6YeqoU5BTmFOAyVFxymUrHZa/7eeCNVDkRu9qozMQRu+T7mznxhC9VwVnX+SebKO5xRvJxelMT9LiTNYkAKl4TWKcBnrNLHQTe67xolGnIKcwpzyXc1y13snyV/1csF7nOQ88SWMMI33thZ1Uk5ZEq2c5x9rS3ECrtiSnijuGT+PtwjRnRGtMR/8ORJU7ZAMheD27wfyP+hR0dKidDmv4WP6SnxdWZ6nP0OtyOn2oJf30s0TD9iSXdppXTaz1w2TnuiirtliLunCjlpCDcfuFwtUmh6jgqHvZafoKZnKkUaccF6Frn9cK/Lvmr69P/QVYjzI9u9oikOH+p4W3msK3tKe4PMvyaU6whact3rI2xKA10rIp7Mf7NoQqm2ltPuxUDa4kHXEzaXbQykqWw3YhdHSCuzLBZelUlr/eZ4f1Msv4WWscMkT/Lcn2twTDunjnliT75gRreOojjFsiTJrDDGgW/GX2+BZvXJ0TR5DcFF9lIgbLRp5g/x04RfBcTrjttIflr/d5YT1KtX5ednVgqP9phvOjZMvWZOe2ZAdwqiXarC5Irz1C776rYKENW7MfLkkDF6k4OW39pIwNbIZSHEDKegGH43ccsEN2VxVm+Yt9CVgPY/f2tCR2dfzWHLmrKcGhjepcHWHaGGcNsGruHKq9vLHInNB2iiPHBHd7IS5tFS5tHS5Hi2AggzeXmQawoChAqLP8rb4QrIZk7+5X5dW/rvwtw6kl3rYq9HBzlHnlrZ8eBu944EFoOc6Vbjgp7PtJqWtxSWtwtA34yPU4mg4fbT/bjcOK9Cc1LH+fLwfr1W8FjysDn7ampnhKN1O9WmKs2+JsK+/oPo6xzvQWbDszO98RF7oel7QJl7R0Gm0jW7gijraTGLcdd99LgeVv8qVh1YZsf1jiV31nV1uyXX24SWOs6eOQg5lW+PpT3KlmU+JVJ4cvx6Wtnpy0elKmCiHe/HuWj55lsHq6GuujjWpCtZ5QXVvDzZrDDzdGGBe58lScmk2zwWcdwgcr4xLXEVJXssWvmlzpuZblQ2clrGOuKo1U+9YUm8ZIi4YIy/KzymUn5lAdZlCN8BFrcZkbp0Rvms4oT2b5iCcErD27dykqLGiL96oKsngcfaDEjSPVlzfZkjNRHZerxpGxFPfyFeuHOyFgUcQkpGXkTA8Y7FFZe8NaJMFRON1ySqIObqAhl+VDnDjPCCxJKRlzCyszc8tpM0mpDjPy7WbFHiIiz77ig7rPBUtKSsrewYl/vuCcuTwcpGksH9OEfXBe3v5iUrIampvnCwjx8/OzfEAT+fkfRRzvGw+nRooAAAAASUVORK5CYII=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) Return SetError ( @error, 0, $sFileBin ) EndFunc ;==> _PencilPng()