wakillon

ImagePixelate

9 posts in this topic

#1 ·  Posted (edited)

 

 

 

ImagePixelate function :

Func _GDIPlus_ImagePixelate ( $hImage, $iPixelBlockSize=10 )
    If $iPixelBlockSize < 1 Then Return SetError ( 1, 0, 0 )
    Local $iWidth = _GDIPlus_ImageGetWidth ( $hImage )
    If $iPixelBlockSize > $iWidth Then Return SetError ( 2, 0, 0 )
    Local $iWidthAdapted = $iWidth - Mod ( $iWidth, $iPixelBlockSize ) ; adapt size for avoid no Pixelated zone on the right side.
    Local $iHeight = _GDIPlus_ImageGetHeight ( $hImage )
    If $iPixelBlockSize > $iHeight Then Return SetError ( 3, 0, 0 )
    Local $iHeightAdapted = $iHeight - Mod ( $iHeight, $iPixelBlockSize ) ; adapt size for avoid no Pixelated zone on the bottom side.
    Local $hBitmap = _GDIPlus_BitmapCreateFromScan0 ( $iWidthAdapted, $iHeightAdapted )
    Local $hContext = _GDIPlus_ImageGetGraphicsContext ( $hBitmap )
    _GDIPlus_GraphicsDrawImageRect ( $hContext, $hImage, 0, 0, $iWidthAdapted, $iHeightAdapted )
    _GDIPlus_GraphicsDispose ( $hContext )
    Local $tBitmapData = _GDIPlus_BitmapLockBits ( $hBitmap, 0, 0, $iWidthAdapted, $iHeightAdapted, BitOR ( $GDIP_ILMWRITE, $GDIP_ILMREAD ), $GDIP_PXF32ARGB )
    Local $iScan0 = DllStructGetData ( $tBitmapData, 'Scan0' )
    Local $tPixel = DllStructCreate ( 'int[' & $iWidthAdapted * $iHeightAdapted & '];', $iScan0 )
    Local $iPixelColor
    For $x = 0 To $iWidthAdapted - $iPixelBlockSize Step $iPixelBlockSize
        For $y = 0 To $iHeightAdapted - $iPixelBlockSize Step $iPixelBlockSize
            $iPixelColor = DllStructGetData ( $tPixel, 1, $x*$iHeightAdapted + 1 + $y )
            For $i = $x To $x + $iPixelBlockSize -1 ; create pixel block with same color.
                For $j = $y To $y + $iPixelBlockSize -1
                    DllStructSetData ( $tPixel, 1, $iPixelColor, $i*$iHeightAdapted + 1 + $j )
                Next
            Next
        Next
    Next
    _GDIPlus_BitmapUnlockBits ( $hBitmap, $tBitmapData )
    Local $hBitmap_Scaled = _GDIPlus_ImageResize ( $hBitmap, $iWidth, $iHeight ) ; restore original size.
    _GDIPlus_BitmapDispose ( $hBitmap )
    $tPixel = 0
    $tBitmapData = 0
    Return $hBitmap_Scaled
EndFunc ;==> _GDIPlus_ImagePixelate()

Working on an other project, i made a pause by playing with pixellated image effect.

Avoid big images, it's a bit slow.

Don't know if it can be usefull to someone...

Sure that an unpixelate/depixelize function should be better, but it's not for today !  :D

Just run example, it's fun.

ImagePixelate Example : ImagePixelate Example.au3.html

image.gif

Edited by wakillon

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

Share this post


Link to post
Share on other sites



I like the picture (Recep Ivedik)   :thumbsup:  from a funny turkish movie.

If you wish I can provide you a faster pixelate function.

 

Br,

UEZ


Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

I like the picture (Recep Ivedik)   :thumbsup:  from a funny turkish movie.

If you wish I can provide you a faster pixelate function.

 

Br,

UEZ

 

Using Assembler ?


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

Share this post


Link to post
Share on other sites

Not this time. ;)

Func _GDIPlus_PixelateBitmap($hBitmap, $iPixelate = 9, $bSmooth = 1)
    Local $iWidth = _GDIPlus_ImageGetWidth($hBitmap), $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
    Local $iNewW = Round($iWidth / $iPixelate, 0), $iNewH = Round($iHeight / $iPixelate, 0)
    Local $hBitmap_scaled = _GDIPlus_BitmapCreateFromScan0($iNewW, $iNewH)
    Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_scaled)
    Local $iInterpolation = 5
    If $bSmooth Then $iInterpolation = $GDIP_INTERPOLATIONMODE_BILINEAR
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $iInterpolation)
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap, 0, 0, $iNewW, $iNewH)
    _GDIPlus_GraphicsDispose($hCtxt)
    Local $hBitmap_pixelated = _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight)
    $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_pixelated)
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $GDIP_INTERPOLATIONMODE_NearestNeighbor)
    _GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hBitmap_scaled, 0, 0, $iNewW, $iNewH, -$iPixelate, -$iPixelate, $iWidth + 2 * $iPixelate, $iHeight + 2 * $iPixelate)
    _GDIPlus_GraphicsDispose($hCtxt)
    Return $hBitmap_pixelated
Endfunc

Br,

UEZ


Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Cool !  :thumbsup:

And for UnPixelate, an idea ?


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

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

Just reverse from original image:

#include <ScreenCapture.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
    AutoItSetOption("GUIOnEventMode", 1)

    _GDIPlus_Startup() ;initialize GDI+
     Global $hBmp = _GDIPlus_BitmapCreateFromMemory(_Test_Image())
    Local Const $iWidth = _GDIPlus_ImageGetWidth($hBmp) , $iHeight = _GDIPlus_ImageGetHeight($hBmp) , $iBgColor = 0x303030 ;$iBGColor format RRGGBB

    Global $hGUI = GUICreate("GDI+ pixelate example", $iWidth, $iHeight) ;create a test GUI
    GUISetBkColor($iBgColor, $hGUI) ;set GUI background color
    GUISetState()

    ;create buffered graphics frame set for smoother gfx object movements
    Global Const $hBitmap = _WinAPI_CreateDIB($iWidth, $iHeight)
    Global Const $hDC = _WinAPI_GetDC($hGUI)
    Global Const $hDC_backbuffer = _WinAPI_CreateCompatibleDC($hDC)
    Global Const $DC_obj = _WinAPI_SelectObject($hDC_backbuffer, $hBitmap)
    Global Const $hGfxCtxt = _GDIPlus_GraphicsCreateFromHDC($hDC_backbuffer)

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    Local $hBitmap_new, $iFactor = 92

    HotKeySet("{ESC}", "_Exit")
    Do
        For $i = $iFactor -1 To 1 Step - 1
            $hBitmap_new = _GDIPlus_PixelateBitmap($hBmp, $i)
            _GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hBitmap_new, 0, 0, $iWidth, $iHeight)
            _GDIPlus_BitmapDispose($hBitmap_new)
            _WinAPI_BitBlt($hDC, 0, 0, $iWidth, $iHeight, $hDC_backbuffer, 0, 0, $SRCCOPY)
        Next
        Sleep(4000)
        For $i = 1 To $iFactor
            $hBitmap_new = _GDIPlus_PixelateBitmap($hBmp, $i)
            _GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hBitmap_new, 0, 0, $iWidth, $iHeight)
            _GDIPlus_BitmapDispose($hBitmap_new)
            _WinAPI_BitBlt($hDC, 0, 0, $iWidth, $iHeight, $hDC_backbuffer, 0, 0, $SRCCOPY)
        Next
        Sleep(2000)
    Until False ;sleep 2 s to avoid high cpu usage
EndFunc   ;==>Example

Func _Exit()
    ;cleanup GDI+ resources
    _GDIPlus_GraphicsDispose($hGfxCtxt)
    _WinAPI_SelectObject($hDC, $DC_obj)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_ReleaseDC($hGUI, $hDC)
    _GDIPlus_BitmapDispose($hBmp)
    _GDIPlus_Shutdown()
    GUIDelete($hGUI)
    Exit
EndFunc   ;==>_Exit

Func _GDIPlus_PixelateBitmap($hBitmap, $iPixelate = 9, $bSmooth = 1)
    Local $iWidth = _GDIPlus_ImageGetWidth($hBitmap), $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
    Local $iNewW = Round($iWidth / $iPixelate, 0), $iNewH = Round($iHeight / $iPixelate, 0)
    Local $hBitmap_scaled = _GDIPlus_BitmapCreateFromScan0($iNewW, $iNewH)
    Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_scaled)
    Local $iInterpolation = 5
    If $bSmooth Then $iInterpolation = $GDIP_INTERPOLATIONMODE_BILINEAR
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $iInterpolation)
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap, 0, 0, $iNewW, $iNewH)
    _GDIPlus_GraphicsDispose($hCtxt)
    Local $hBitmap_pixelated = _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight)
    $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_pixelated)
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $GDIP_INTERPOLATIONMODE_NearestNeighbor)
    _GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hBitmap_scaled, 0, 0, $iNewW, $iNewH, -$iPixelate, -$iPixelate, $iWidth + 2 * $iPixelate, $iHeight + 2 * $iPixelate)
    _GDIPlus_GraphicsDispose($hCtxt)
    Return $hBitmap_pixelated
Endfunc

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

Func _Test_Image($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $Test_Image
    $Test_Image &= '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'
    $Test_Image &= 'BZFgAwkgBQAkRYAAH6AHVEWBJvcCL3CwCSJC3YWMGsWyLZEmBGsgi14FsAawsXcLBOzCkBJjAAiwsALCT29xbIsEnkxZEXsRYBIEAWBIXuNewACSIl0Jl1El1AgL3JkR3AgAdBRgwthJkXswIWF7kBYAydoiTIFkwB0x+5XEkAckiwW4Gn+6QG6FAGb2EkyZdKFkBFkQBHQYLJkS6kyYt7gQiSJYWMjgJY0mIyyFkEmJJjTUSZXJkyYkmMhLqLJhJ+4ljJP/AMQsiyLQJTZFiyZEnYBNkEBa8AAKEiLKCJMWTCTIkwCG9xQkxbAkkSYtkSYwJEWLzCylQDabIk+4kpUJzD0WzyZHMJJkX+o07NZFic21ESn4FoHkxJMRyI5itA9sLEvYixKWC/UWwvz0ACTsI0LasiT7AaZNEfqHcjoBiwFsLAgRZEmLJjB7Eb2IsiT9wCZMhy2FvsRJgA3uRfkWyLGD2CZWFgH3oAA816QAAAAAfQUAmToSQwR6AE0AAAAAABG4SFsAIEWASACwkRHoTIYQFgAACjSFAD2IAAIEWEhfoMCyLDv2IkwJNh12IsWwLZ5MiToULAti/wBQIsLGBYEfoKANYSYsmQCU2BFkWATaCyJdQLCSBQ8ADARzL3FtAEgRfsgsCS9w6EEAALIaXQW+4BEiJOgkLIZCwj3Fk/mAEkTyBABN7UBBEnSGDEEJ7BYJ2ke67lfMFgVzWJk2Vc30JsNF2WdiPqLzbC35DQ7GsJNCc6IlkQ9Dsa1QsmK5Fcsi8hodjSYtlbyroVvL2sfRFzXWNz+5l9X3D1X5/UrRbauYHIy+t8yueYOg7tUpUVuX1Mk8/uyieo36j6F3bJZCuWT5GKeoK3qB9E7dCWReUR6hzfvHuR94V7j6Ht0fUD1DnS1HuR6/uw6FuujzBz+5zvX92T679mHQbb+fYOYwxzIn1l5DorbbzISUkY/XRHrr3DoNtUsiFlJeTHLN4ElmbDSdtcsgksu5k9XfYj1PYrRNfqCyybmb1dyHl8j0GiWQTmZn9SvmR6rAlrydhOYq9TsmR6l1uBrub9CPUroUczv/AKkcwBolk2ElkKefYWUm+4BdLILzU9iqUvYjmoZruYFIz+oHOxBq5kK5Gfm7hzMAv5l2YWUcw3M//IKW35C/qVczBv2oAskxJPfqJz+5HN/4AzyYrkLbEk/cAssLK78hdADyYlkSYt/qANJhfUS6REnYA12At+QT36AH32wsigo816SbAAAEGCgiqAJiAAAAEB9QA3DuEmL2AhexFhexHQAkgEwl1GB3AUgAnYCLD3AJsgLIkMkkWLe4WABEmF/oQBCxZMCBpEtkRJhJ1Yt/oANJ9hZOmiLIvsCTWFlYWAOAlhZYNJhYtsiwJIAn5Fe4AwC2TYBNkSdh1IAAAvwKAORYWGwAALIJOgAkQT2IAkSEl0Jk6FGRZALN/IL2HpHdN7e4l+5EpUvwlfqX3HIm8i3mIm9ivmKs+WoeByJvIuUiHIz4stonn9ytM7yNFhzGfn2K5ZfccwLvtqllGhkRzXmbZdjyj0vbdLIUZc1dyieX9TLkzOw66Db61fIiWbfruYPVddSqWYek7dGWo9yiWf3MM8/uUyzdmGht0JZ/D3F9e+5z3kt9RfUbGG+WYPWfkxepYspNAG6WfbqUT1CRgy5WmZ55mMm+eo367FEtR7mGeZlMsve+gE3yz9dxJZ/c57y7e4ssroA6Ms/uVy1D7M53rCyzDN0/XD1/c5fqkxysA60c+xMc+5y/V/8AJPqvqAdT7x7jeuvJyfV2COVruhB0/X9yJZzmyzIJZUMOl64ssxh9YX1gJv8AV3I9QwxzWyPW91+oBv8AVD1fmYPW36oiWbfrYBteX/tEeqYXm8MPVGGzmoj1PmZPV36ketswNs5iPU7GT1b7h6l/IA08yqrDn9zL6vyD1QDS5Eep5Mvq77B6nf8AoAauf3F5jPzb/wCg3N72BtHNYc3gz81C+oAaOdjK'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= 'Pgr4nwcP49m4pmv1MGheHFF7t5N6Op9mGsx6jjfxPxbNiyarXZISWLEltTu232PGfA3CXxn4h0nD4unqJy5n/KkzTU6XjvqT/wDraeOO8d9YyL+N6fWzx4+LcRn6uXiGVyXN+eXv8hdDz6ngseCaSEnqdTqOeW2zSR7n7atJg4dxDgnDdOqxabSfr7mD7IeHQ4j8YY8ko3DBG/rRN5tcXew5y9eLuu+yd/7BfxRxLUfh+64OTlrvvse5+z7Sf7O+CfvuX8OXWN5Ztrfl7HzXNrMr4px7g2mjb1ut9Nv2TPrPx5lhwX4OlpcOOowwrFCukWeb87K5an3lY5PkW5WT7rwGr0r4h8LfFHFclVNpRb36WeR4Z8Tangvw4uGcHk8GbVfi1GpjtOv5Ezd8Scd+8cK03BOGylj0WFXnf/OmeQcX6n/ex6PxuLWF7vS+PhrDWS7BDlU1C/xbuUt5S+bDUwvCoGvDjuCYaiNJbF/k/k6ZfLnQxbJM14EvWpKkTyUh9Mv2v0DLPca7apx5q9hMuNpbGyEU12sXNA5pnqiVz4/nB9y6UFzWV5koq7NJdtsVUN8h0MW0LOdpk8mQ6MvwwaDk/TRVklbMrVuy7I7YQxtsU8RUGGK9zTjxD48TSTNEYpLpZN5FRR6fuHJ+hfy0TyomZr0ojFleRxTNGWkjO1uaYX7PRY231LYJN2x8OI0KN9DTuvStRdf9BPY0U/oJysvCjSqJPVDdGT2o2lTpBMUrDp8h1E0lGi9hiZIJGko0F4Hj0E36k+5UpaN0J/QS9xjQtGjuxoiXSHi7GWjR69B/oJEeIEmwkQSUeiyBdUSRaKGn7FkQDkK5HU4hW/Qjl9gsLGCSxrwL6fuWX9RZMCVuDXciXqeSyTEkwCvmyXvTQssst7iWyEkNKv1vMWiPXjW+w86K5RVjIetF/wASF5k11X6kPFF9iqeGL7AXlbd+GJIqlh8NiSxyW/MxpWS/9pXJdqIl6vmytyypflsoJkvmU5MMMqqcU/mNLNJdcTYr1Ee8Z/oPym2fbPLSvG36GfLj9rtfoLzazH1hizL+y+R/1Lnq8HeVCT1enr96h+Ufxnqs+TWYsf7/AB5cXlyxul9S3Hlw5leHLjyL+yyv77huvWgzNnxaLM+Zxx8/mLpldWf5NfbbKu6Kny10Ry8mPLi/9LrZ/wB3J+NGeeo16TuOPJ8tipxs7zOxNRM+R4l3PP6niOox36+HLjXnqjHLiyf/ABvozScbG8lr0OXLi7GXNqIqzm48uXOuaD28jOP8+WCfuy5IztqzLne9WZMuaTez+helGvwRnNjVnVbYcK992Wllhh1eVtwx0v5pdCZ44YVeo1MF9S+eCEv/AFGpy5PZOkSvueHfHhhfmW4yY46rTJ1hhmzT/sxdFnqa2X7nR48K85JF+XW1DaagvCOfm1t2oW35Glbkw5cn/qtf/wDjiVGb09LF1DDPLP8AtO7K/wBpJ3N7F2JTUP2a+oyPFKKvUSWP/wC3jIlrcjhyYMfIv6ssxaJ5Hc92btPpY4+wbS52DRym+bM3T7HRxx5VUEkvZF/KrJ5RbJXDGi9IEh+UVoEUia2HrYOwgSS22Kp7FsnSMeoybMYJly0mYc2dlmRuRn9K2JaiXNln7GnDhQ0MST6GnFD+UitIIYuxohp76lunxW90dDDgvsRWsYY4PYb0DrQwMmWCkTtrI42TDsczWRqJ6DUY6RwuJUrM6p4zjcqyM8nr8u/g9Jx7JU2jx+uyWzi5c28vhgzO7bMclZfkk26KpfI4qVqicROXcvkrREYois7mztbiyj/4L83siMSTTslPb7ZHhbdHsPgfh3r8VxYpweRrejza/sKz6J9mGKEM+s1OW28eDu+xz898Of5nLZx1yfSknxzVOUU1PlUn0+SORDiKw8HWDH0ttt9Wy7WamT4TNQX7PJlk0n58nnYptOEnVeSOPDt7RxcXefyYJJ87d73ZZixueSEVumx8q22RZpMUnmxK+rOm'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= 'ZpLGVleEzaPUaOX7HdeGKtXLpmxU/KPUZ8NtqcTHqNHFw3ivmaI05un/AGnf9CNTha3LI6b0ZNw6EZpSrdDDnylKL3CObyNl67ozZEqAtNHrJjxkmc2blHdBi1HZ7e5YdKa3K5rvQkcqlDqWJprqMlUkCRbXcit7KlMkdmTdhJBRUNE+hXPGnvSLZEFLZpaWElZlzcPi02jqBt3KlU83qOHVvTMWbRyT6Oj184qRRPSp9ipVPGTwyi7p0V15R6jNw/wkc/Pw+t0jSZqjjKO5NX2Nc9LKPYrlia6ov8ilFddxqG5dgS3KmagrseLYJE15Lma4vwNLG+hpxStJJ15Me5ZBtdC5yLdb1FDFD3J9e80PCMHqOlZYpLx06DvIcdCEvTybPubMzTxQktqOVHLdSvc0+s3CrJ/IqNccy5av9RMslkwuLM8sl9xZZbi10JvItox5nFdS6bWSFnNk9rLcOTarMbn9LX/lew3qWt+pXaZFU9jG0xFb/wCBbBkUSlfUm01kRr/QWK367DxVEU9piWJbP+gtbdBrJGz0SvYi/YLsStin2D3omwAbQRsTIgkbEkIPf/bEbtiEu0Mhv2BkWFoR13YABJ7TQrG7CsAhi9BmQxJvhX2Aahf4kItv0oQSRZ5jFIAHgAYBRhKSBFgAST1IAAlbDJigAWWAsRgMUQT3I7gDy6CgnuEhADCjR6AYiHQAjv1AJTIJpEUgCSZBIiLsACBiKAGl+UXoSRIALomyKCgCSHuEQl02AC6C/YSxgAJojYO4AdRa7DCgEf3SCSRkrrqLIta2K63AiBXkfuRVf6gCUHaunyJIkhpJNWrS+hW1S7u9y6VoR0uiHEqqr/vqLJVVNJF1FfJvdb+SiJJdH3I3X53bJ37bMKrZjIJfKyY/OhuVf9ET0QjJWxW1bLq26CPYZM8iuaLZrqVz6fIaWPN+YzzRrzfmM0yoika2KMsbTLpCTr3LZVytTh5W2qOZqciimnCmd/UbJnH1kbvZG2F257HHm02Vzgn02Lp4WmK8Ul2LS5+bAjDlwv3Ovlxu9yqeK9xhx54mZZ4vNnelgTRlz6fuMnH5smJ7PYuxapN10LM2FLqY54d7RROjHN7jxy31Zy1KcS2Ga9hh0ObuTfuY/V23Y8Mu1Fm1x3QrSoWOSxhmJdSJMmRFeRqNH8pBBMeo1wSVizwxkt0WVRMXtRa4wT0KfazNl4ev5WjsR6hyp9rDa3m8ugSX5WZp6Ll6JnrfTT2oqy6eM+w9m8jLTtdhZY2uzPS5NEvH9DJl0W/QvuuOMlsTFfI3T0jXYreB+BzNUUwXzLIr3D02n0BIfdcPC0XxfzKI/UeLYtnFrb+gLYhNMZexG1iGzseG0hN7saAHtog0ywox9C+JFPZo39R1/CJXuOl/QlWzx67IaPTomKkWRJGzRSDf3CL9x470ID5IP/iT3GEZRqDZB/eAFv8AQh3/AOCe5EnSJBckuwgdwEuFBkshioQAB3Yi+wvAMCX0BZGQxmQ0JNhZB/F/aCXQleBM36PAL3DueYzSARDuAF+w0uosRqYKARDcUQMSQSAHcm9yCb9wBo9mNZWtx6A0kUESQCO48hboHuIAAkg7gDdtg/UWPUcAi3/KwCLsK3AxHqtxtkLHqS9wCJMmwojoATuAWTJ0ARdBaIkwoAmXQQYEgA/vCy37DNWyQAIexJEugAr3ACO4AdQfgP6gMkSF/QZ7igBIiSJ6kSAkUL/2tx+5FACSW/8AmI1UOpZX6Cvd9/mNKuX0Fa8dvJZJCglXJdugb+LGkkBZIivComSGrbqTW3RAZCuRfRU1uBM81v1K59NkWzKpdComsmVbt/0MmR1tRsyfmZmmioyz/pTL8ohdKNFci2WmecbMOoxdTpTMuVW9kaYVnlHLnht9CmeDbodKeN+BXj26Gm0OTPDv0K/u6fY6ObG12KvTdDUwz0i/haMOq0sl0pnYy/hsw6nL+g0vPZk1OmiqeO0bNTJSn4M8d0NLHPHt'
    $Test_Image &= '0KJxrojo17GfLjVlEy2xfVY04u/IrjfYqBfizo0wy2c+OPxsWLmRRumpJ0SYcWVl0Mo1NA0SmMros2GowC//ABIuqGpZttQWyIv2JGqJi+wwl0FgtZ9RJ40xebwTzAcVywLwiqelTb6GmMvLH5rfQra5XMno1XRGbJo2ux3aT7ESxJoNredenYssDR6CeGPgpnpUw2pxo45LqPGL8HSlpfCI+79dtw2bFGL8DKJr9DZbBLD2Fs2dR3LYKyz0xoxolRVHp/mWVt2Gr2JqhDaKT6E0TuP1+Qj2TkfUdIlL6DeNxDZYqhuxIWI9o79g2/hIlXkVyJOShva2VuTbIk7AGsgAAEEMgCBWgIgkViL+zIldBYjIFS7QxWSyGKlfSGQnuiWC/wAxVnl4fo+PUCOpNnmM02BAe4BIyYkSQBpdQFGBRRgCxBIBEACYj1YgwgYAAZoCySKSEDxFoaPQABYhZMfykgBEO4t0MmAHQm2AAYtkdWySOgAbBJ2GwS6ABVgKAA1i2AWBGv3AUAAuwAAMwvUOpAECJdCexEhgoR6gNECLZBPYACJB0AgAX3I9x+wo0lkhad9mPISkCS9wrckCwK/UfsESSArkJOy5rrVlMkUGeaKp/wBTRMon08FIrLk6tGWRqzLczyLiKQSSLLoSf5hs6omtymSL5CbUUnSprYStiyQsgGoz5Ip9UUyxrwaplEqKlRZGPU4VWzOPq8ElZ3NQ67nM1Mk7RtgzrzWqw7lENvJ19TjTvoYvSp7FkpkiueO+25r5aIcQS58sQkse5vlFFM4lQM0cdExir2Re1sQluWplni9iFaN/LfUSeHx0GFUGXQl0KvT9yyI1LxLYJ7BY9nEXuNzbUV/QLroxqiyxZMS3QkgXDyZHP7lcm/ItjUv5/cnn9ymLdBfcFRqhlRdHIvJh5mOpAqNikPFoyKQ6lv5EcaWkyPTK4T8Fqlt7gtHpKhJYuvQtUvqHNt1YGpliE5PYvk/cXbp2EFXLsFFtBKKEaruFbFnLREl7oSi/1AJWR0EE+4SYNiSkTavGCUhCLd7gK1rIkCLIFaE2DI3AJRKhgACotQyB+V0K+tC2naH1GQRg29iWqdeGEv0eNQyKGsWQ1FIrwMOkmu1k26RlfD//2Q=='
    Local Const $bString = Binary(_WinAPI_Base64Decode($Test_Image))
    If $bSaveBinary Then
        Local Const $hFile = FileOpen($sSavePath & "\mood.jpg", 18)
        If @error Then Return SetError(1, 0, 0)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return $bString
EndFunc   ;==>_Test_Image

Func _WinAPI_Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_WinAPI_Base64Decode

Or what do you mean exactly with "unpixelate"?

 

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

I mean, try to retrieve/restore the original image from a pixellated image using some matrix or algorithms as Scale2x or hqx do.

May be "Depixelizing" is more adapted, but i didn't find a correct translation.

Edited by wakillon

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

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Scale2x scales the image without blurring but it will increase the image dimension whereas unpixeling will keep the image dimension.

Here what I did but the unpixeled image is blurred and thus unsharp.

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

Example()

Func Example()
    AutoItSetOption("GUIOnEventMode", 1)

    _GDIPlus_Startup() ;initialize GDI+
    Global Const $hBmp = _GDIPlus_BitmapCreateFromMemory(_Test_Image())
    Local Const $iWidth = _GDIPlus_ImageGetWidth($hBmp) , $iHeight = _GDIPlus_ImageGetHeight($hBmp) , $iBgColor = 0x303030 ;$iBGColor format RRGGBB

    Global $hGUI_original = GUICreate("GDI+ original", $iWidth, $iHeight, @DesktopWidth / 2 - 3 * $iWidth / 2 - 20)
    Global $hGUI_pixelate = GUICreate("GDI+ pixelate", $iWidth, $iHeight, @DesktopWidth / 2 -  $iWidth / 2)
    Global $hGUI_unpixelate = GUICreate("GDI+ unpixelate", $iWidth, $iHeight, @DesktopWidth / 2 +  $iWidth / 2 + 20)
    GUISetState(@SW_SHOW, $hGUI_unpixelate)
    GUISetState(@SW_SHOW, $hGUI_pixelate)
    GUISetState(@SW_SHOW, $hGUI_Original)
    Global Const $hGfx_original = _GDIPlus_GraphicsCreateFromHWND($hGUI_original)
    Global Const $hGfx_pixelate = _GDIPlus_GraphicsCreateFromHWND($hGUI_pixelate)
    Global Const $hGfx_unpixelate = _GDIPlus_GraphicsCreateFromHWND($hGUI_unpixelate)

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    Local $iFactor = 4

    Global Const $hBitmap_pixelate = _GDIPlus_PixelateBitmap($hBmp, $iFactor)

    Global Const $hEffect = _GDIPlus_EffectCreateSharpen(10, 40)

    Global Const $hBmp_tmp = _GDIPlus_ImageResize($hBitmap_pixelate, Round($iWidth / $iFactor, 0), Round($iHeight / $iFactor, 0), 0)
    _GDIPlus_BitmapApplyEffect($hBmp_tmp, $hEffect)

    Global Const $hBitmap_unpixelate = _GDIPlus_ImageResize($hBmp_tmp, $iWidth, $iHeight, 0)
    _GDIPlus_BitmapApplyEffect($hBitmap_unpixelate, $hEffect)


    _GDIPlus_GraphicsDrawImageRect($hGfx_original, $hBmp, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsDrawImageRect($hGfx_pixelate, $hBitmap_pixelate, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsDrawImageRect($hGfx_unpixelate, $hBitmap_unpixelate, 0, 0, $iWidth, $iHeight)
    _GDIPlus_BitmapDispose($hBitmap_pixelate)

    Do
    Until False * Sleep(10000) ;sleep 2 s to avoid high cpu usage
EndFunc   ;==>Example

Func _Exit()
    ;cleanup GDI+ resources
    _GDIPlus_EffectDispose($hEffect)
    _GDIPlus_GraphicsDispose($hGfx_original)
    _GDIPlus_GraphicsDispose($hGfx_pixelate)
    _GDIPlus_GraphicsDispose($hGfx_unpixelate)
    _GDIPlus_BitmapDispose($hBmp)
    _GDIPlus_BitmapDispose($hBmp_tmp)
    _GDIPlus_BitmapDispose($hBitmap_unpixelate)
    _GDIPlus_Shutdown()
    Exit
EndFunc   ;==>_Exit

Func _GDIPlus_PixelateBitmap($hBitmap, $iPixelate = 9, $bSmooth = 1)
    Local $iWidth = _GDIPlus_ImageGetWidth($hBitmap), $iHeight = _GDIPlus_ImageGetHeight($hBitmap)
    Local $iNewW = Round($iWidth / $iPixelate, 0), $iNewH = Round($iHeight / $iPixelate, 0)
    Local $hBitmap_scaled = _GDIPlus_BitmapCreateFromScan0($iNewW, $iNewH)
    Local $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_scaled)
    Local $iInterpolation = 5
    If $bSmooth Then $iInterpolation = $GDIP_INTERPOLATIONMODE_BILINEAR
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $iInterpolation)
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap, 0, 0, $iNewW, $iNewH)
    _GDIPlus_GraphicsDispose($hCtxt)
    Local $hBitmap_pixelated = _GDIPlus_BitmapCreateFromScan0($iWidth, $iHeight)
    $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_pixelated)
    _GDIPlus_GraphicsSetInterpolationMode($hCtxt, $GDIP_INTERPOLATIONMODE_NearestNeighbor)
    _GDIPlus_GraphicsDrawImageRectRect($hCtxt, $hBitmap_scaled, 0, 0, $iNewW, $iNewH, -$iPixelate, -$iPixelate, $iWidth + 2 * $iPixelate, $iHeight + 2 * $iPixelate)
    _GDIPlus_GraphicsDispose($hCtxt)
    Return $hBitmap_pixelated
Endfunc

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

Func _Test_Image($bSaveBinary = False, $sSavePath = @ScriptDir)
    Local $Test_Image
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '2q8N9Qdl33De0Sxn6d+burlBJg+GWbHNDl7cTQFZLpfEThlkj5AFCuv6B16witZ0gmhi5zC/B+9UN71Hq2jPJp91A8YP04U5Bq5RuVE6mu2OqLOscqO0aqu6STGeKZqmo6LcA2sTq4nHO4fvWD3HV9/uaNJpoo84dfIirG31YyypLubDJgc1dwlPImWXV+l21pfiG2yYJRnOc4NS/hx0ONa1xRcCVLMclgp+r2zUP5pPlDLKMkkbR3Nbb8GZZ7jptfFtUjSM4VweWozCpFj6aCZlzJX1J9np9z0nbbbGJruwU5MSj60HqPUUqMYLWS7mWGGMyMfIClWu9yVniDMhKHcbMZivQKdikBRME1G4r3Fe4r39aUUbtpYp4FLFKKMxXuKdililFG4pYp+Palj2pRRmKWKfj2pY9qUUZilin49qWPalFGYpYp+PakR+9OI2txhFDvW3VWm9M6TNe3jkug+mFeWY+Qqx6l1OPStMkuZHRCOF3EYz7+gr5b+MHV0WsXy29jPLPHGx8SVxjxXPmB6Dyqq2zgOpdRUbG7lF8Tut9U6z1IS3REVrET4ECnIH39TQmEHiF+wAGfuaflnIDKACwry6YBWKLgZOPest35dmbSVhRoSNcKGfCjIzg1zkjKyFnHftx5VO0+BpAVkIGSCOOa73tq8cMF0VBSTKDPr51VuWcZSAN2A4qd8qwZD5Bdx4705bZRIQW9wO9EOmLDLLH4/0BfpVwDgex9qiW1JquxBm5EkMviKpTePpNc4/FdWVpHwfLPeiXX7K3SRfCdTtbbgc49K5Npf/ACRmAyew/wB6YuBJCon1B+S2k2GQE7felbsmwKwzz3q80+zF1ZTxSgnZnGO4PkftVSsJD7UTOODipbEgVIkdkAJPBGMVN02RmXwyxAXzB7VHmjyBjHfgV0tIj4j4Y4IwPeluNqE2jdR6jo0xtJJGeJeQmTg/b0rV+ievLGVkt7xmhb+VmO4A/wDnrWCxMTcxxzA5Ixuq0guTaMkqfmQ84qqypX9y2uwpPr7pWKCLU/FkJuILuMEPnKg/ervV9Me4iIhfw3XhSexrI/hD1bBJoSzCUGWI7ZrZjw49R6HGK2KLX7C80xcMqnGcZ5xWUVKtow5e13A+6huLCfc0bLJjGT2P2qR0/MJEna6vPq7sD2pmpdRW9vOzCRZkXP0sO9D1/wBQadcThY1WFm/MEBJNRMcfzDC3vLe1VRHcBmYZyG8vSp0ckl9bmAq0jNyCRgD9aAJesLOxgNvbaW91L6iMk1I0/rqe7Qq1pcJIBgKqdqcR/fqE9zBIjvCUyXwFO4cVIOix3WniObwlyeT/AK0M2mptc3AWScIzctu4I9quLW4muJxbrdqqc4CjnFPqN2JYWGi2dvqC+FKSPMJ2WrTUtMhtYhOJEaPzGKqShs0CS7ozKwJOeTUm/sZLuGPxbhghGVjB8qYiLcp9ZvYlultbVo3LAZVB/mh7qPRNPvQBqdrboxP0470VTaHOIjLaofEOPyr9QAqpk6flvi15LhJYyQkLnk+9SA1Ik79wLl6S0f5WWxFijO7btwXJwPegzWuh7e2vD8rcyJGx4U/y1rl1Leaddo9xAiArg7eQapdUaK+uJ5WUIgXGB61YLGEhwWZuYVs1WCRAXGACef1r6a/4ZtK0/UugX+YTdNFcsrAHt5isPm0aO6hYxEs691PoPStT/wCHfq3StD/ilneyNGrlXXjjIyDRVd2jvcFtpm/aZpVnp4Py8QBPc+dKqrSOtND1S+SzsrgyTN2ULSqwW1t3K+JEBcUsU4CvcV0m5zcaBSxTsUgKW4tRtLFPxSx96W4tRuKWKdj70sfeluLU8xSxT68waW42o3FIU7HvSxS3H1G4pYp2DSApbi1G4pHgZFPxVN1frdtoWg3V/cuRtjYIo7s2OAKZjoR1GzoT5/8A+Inq5r7Vm0i1mQWsHDkHlm8xWLlZZpY1Dd24Oau+prifWNVkuHwFyTx2UZp2maYHeFm4'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= 'odRMt7BcwnawyxVab1ro/wDB9SKRblhlRZ4dx+pY25Cn3qttPBuI1MhAb8obPIIrJegIZ3NGZ8y7Bh307r6QaEzsimUDc7n+kVy03qPR9Vnw0sVtcNJjwmHJPt96b8M10f575a7eOSNm5SXnPt9jR5rnwc0K71C21fp68eylglWV7eT6hxycHzFBF1VyDNiql7axwPcjdLdC6n1BqbNagQWaD6p5V4z6AeZotHwu0vTopDe3k9zt+rYAFXPtWoaBJbQ6ZDFHtUBAOABzQ113riW1jK8fLDIz60/In1CVxfx23ephuudA/wAZ1+1tYQsNpcXIQLnLBB3NHnXXg26y2FuMW9vCIEQeijFVXw91aKTqi4knd5J47Z3jU/lUk/7ZqF1rqBMkhDbmyTnPnVVxZm1JKqJXsTJb2YGSSOWLaIy2MnvVCk8xkRUdlU5JNXevzRtduIjvDLuyR+UnvVRaQFkKxjlDzz3rQqGkE57IO3M6LbsYMud382PXnj/WpaRDbA5ZAQ2MDyrhdRyBAmfoDHOPcf8AxTPEaMJEinDMTk984q2CkahP0zHHdahx9SQqRx65ov2ZANDXQFrJHp7XDjDyt/YdqJppBGmS2Kos/UJYh0IN9WOnyjo3II5+1RPh9owgQXcwzyTH7D1rrcRS6zqYiT/oxt+I3+lFltAsMKrGAFAxjFb/AIjFYnm3qcr/AFJ5Fa1+JfZk0/iRLKP+pF+YeopsZkis7jUmjA8MH6fXFconMcmTznuKk39sLrTJUikKh14GfOl5rC4D5lgv9M+RLsaG/ac9PEyW6394gZrsZJ/p9BXcwxqZN+A3cLjtUeYsmm+GH3RRlMDz471YfKpdWJuFZvGONufSudOp28powh1yO3aICMRlj71IutIsriJju2neCpPka7wWsnzjynYzr9APlTrmWNYTE7ggzBWA8gKlGlHJqM+it8pKdoD/AEyeRFSJdcjuZFAcE45Cn8xrtfwRXtrIhRX2gkbu9BV9plxp22+gZhG2cjuV+1LQMjvuXr3JnuZJr6QImPpjY/tT9C1J7XqS2Onqjyhvrx6Ggq9u1lVywkGR9JyeTRb8G9OAvBPLiSaZ9u9v5Kiy9SxTo6mx6bqPijMsCb/v3rnf69FASstkNp43CpN1pFrDbtJDdZkxwM0ORwS3F41rdyYiPZqzyO4aD1CDTZbSSLxgzBSM8UqrV02exG21uBIvoaVOVMQIh7byGN0IbuKiX07bnIY8nmmWzsVDd+K5ySBFJcZ5oOFmQ57ho4TLnALVW6lqrLuGAcDgk101m6DxnGFTP7VU6XpjarqyWiuw8Rx9Z5wPWrUESrymkfBjThcmXWLoh53cxx+iqOSa07UYhswBxQz0RpNvohW0tmZotv8AMeS3maLJmVwwPf1qBGwYPftLBqA3UUjWrpKOBnB/WiG2h2WcZ8ygzVH1YgZVhxktIoH6mi+CAGFAR+VQKFVdkiGZNvGtTKaQkEk1WadNcan1A0EWRa2o3SMP5mPYVP6qcWVuzqfKuvS9qbPR0yv4s/4jnzyaZV71Ez6p5j7km7VVQjtVHdxsxODx6gVeXMTYJb+9BHXXUSaTZssJBkbIBqDqWMsxdnoSW11bW1wI5JBvPYE1LnhkkgWRQADXz7JretN1RFeX9refJDDB2UhTX0f0uRqfT8U3BDICpHPGKn8f1Crt0AMYMXNtK24EkZrIPidZS2t5HPklQcHNbxdwmNyr+tZv8UrSKfTpPVRkZ86ninjaDKsh/kpK/vMs6ckKXcsJK/V+XccZX7+1QZ+o72OafS0VZo1la2CDspkPDe55IGe2TUSGCe58SSEc2rFiScA+q1TWGr279Q30wAjS7g3R4GdrpyMe9dhWCbRx+5wV+lpY2jYE134E6Qba86rgv22yW1qIyy+hB7UF3XRmvtrVtssJLiymucCRBncu4c48u/nWl/C9poeieo9bv42jmvWRSWGCwCVafC7UNY1K5vYo1jaztol2hhyp'
    $Test_Image &= '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'
    $Test_Image &= '+SNOWz9xxXZ4qdq04LylukcH+Zv/AFVu0n4faXo8m1biWJZJwvmSB/8AFFvwH0vwemprqRMG6mJPuAAP96z7rq+fWeq2giOUVxHGo++MVu/TOnrpegWtoox4UQB+/n/et3LbhUF+zPPfHV/LkGz6WfOPxDsZNG63vbSCFTtzKsjrnCDngUO6BpD9Ra9Ha3DH6lZwW7DAJJI+wrQP+IS4WLq+1NuxEz2bJKcZBVj2oW+FMc0/WMUe7LPDKiKPLKkVkNeHRl16nVUUFLVbfR+oW9WfC6x1b4KwyafFGdSiVrmKVVwW9V+2K+Y4rZkwTGwlibDKeK/QhNLi0/oOOzVNoigxj9Of718qfFnon5DTLLqO2XasybZ9o7N6n71l/p6M62s/tM0iV3gkmtJmilQbyAcH9PWo9/qs1/AYrm6dpCAu41DS5kZwbdgcMcjP9qizyGSXxVVUY8FT60xQGEC4gakadZ1yk7sdvPPpUWVikqiMcZyKt5vCNt/zDEy44yKh2ttsDXDEGNT3arABqVs+/uTnlZ7Vchfpxk+dWWkWkYtGmJC4yWOcVDjjt1RJpnAUHeP+72xXk4a5GGPhwA8L23UzaHuN2/qRrgyahcEDKQIcbv6qmRyO5jsrOPljgKP81yghluphbWke7yz/ACitC6S6ZitUWVxvlPdz51fi4jZLbPqBeQ8hVhJ/M96U0A2durOuZDy2fWiuCDwx2x7VYabps0jKIomKnscVcN0/dhwFjDA+Yrq6KVrUATzPPzWucsTKJVPA5/SpmmWL396lsinLMATjsKItN6J1O6kVmKRJ6k81ovR/S1rpsH4qq07d2PnUb7FQbBlGOjWNqQ9P6aSy0yO1ChiO/FVsSwx9e6RpSbTs3zOAOcBTg/vg/pWh3hhsrCa7uCEhgQuxPYADNZJ8NLi41vri96ru/Dt7SRXjgMzhdy+W32x50IuYOLcjrqG2YD8l4r3ua5tyxxVH1Fq1tpoEK/iXMnCIvJqTq+shXWx0yBpbhx5Dhfcmvem+nY7eV9T1FhLdvyWP8vsKpQhF5v8A9P3lzp89nxUf7P0JQLpmqTQeO1m0skn5UyAFz5knyoZvvhZqmsC5fUdaEc83O23jLKDjgEsf8AVrd/ewRphI+3kKqJ9W1ADFtAF96TF710R1LqjXh2grYdj9pg3VXw/vumtKebU7VW2//nRfpPvms71fQZraF7qCQuMbm9RxX1ne32oXlu9vfW9tNA4w6PyCPtWQ/EvQDYs0+nQx+A3BRWyE/wDisW/Aer8hOxwfM05BCMe5hfT9zdzWkviZBMhJY+lW+nXD28T3CQ/iK/BHmKnS2cU2lujIsTySFFdf81X3LNHtgiGWRNrH2HnQLdgzaX2CJaXmvG4tNkkXPrivbHWzDAEKFgO3FWUKafd2lt+Cq5XB9zXe1tNNt7SRpox+bAJFZhbRmoBsblpbTQ6toPij/qp5Uqi6dd2ttaO8WBG3BxSqHcfUObGUy6YjDzWqfqKZvlooEByzc10sr5lsY0RMEL2qsuZjc3EJkBxnt5ioqujuWqwYiXXStrl0maPJXJO79QK23pe8WXTrdgf5Av6jg/4rKOlQPxzt5YFghPIUf/PNadpEYh0ODwxgqMn39TVTE76hNygpqX19KJrVkcjnise6/wBN1iJZLrRpX4OZoV7/AHFaBPqSImHcfUOOarLhhcI0kJ3Sgdge49KiX72YqKGrXqYZoOu6npnU9rfXbu2xirg+QIxWiXfxIslUxGQggcipt5YWV2xkmsIGf1aMZoL666SiuN1/YIEdRl4hwMeo9KcqrH9pI8wN+5Bl66kTqCOeInw2yoz79ql3nxJuIwY2VwR3zzzWcTfLbSDcRqVPJJwc0w6jaTP4csn1dt+ODVv9qu9yj+8b1qTupNfvdXnMjEhc1XaL1TJYRPplxdmEbiU3HAOfSprWbsgMabgw+kiqK86eee9Ek4BVRwMVaKlEnXksxk9rabWro3DMzQp+Tnhj'
    $Test_Image &= 'Ws/CWcdNade3zjaWwoPbtzU7oyz0YdI2LSwW7OiYI24waGuvdftwhsrMKqjjCiqC3P8AES13I7JkjrH4mTX0vgR5Cg80EfMvqGqG9nBKqR3NV0Ns9xKZG/KD6d6vflEh06GRSMu5BAPt/wDNavisINeAZz/n/KGjCYr/AImf9VW/grNGVAYXLMce9FXwCvp9Bub7V1QM15E1vyOQgxgj9RVF8QU/5po4x9UxQLj1PFFfTNqtlYQwjgIoFdRhU6sP8GefeXzT/Zgj200j4U6U2r9aLdTLuitvxWz/AFeVbdrV9BpmmT3tw6pDChY59vKs++A4Q2OoEIN/iL9fmRjtXT/iDu5YekoLWOdoEuLgLI6qDwOal5GxmJK/UC8JjAIqn7Mw/rHW59b164vpJsgudoPlRL8AbNbz4hQMdwWCJ5Rjz8v9aptN6V06/wDD8TVbgtI31BEH7n0rZ/hl0lp3TV2LqxO1pcK5c5dhn/Fcuc01kIfud0vj0ZvkPevU0zqXjQ5E9VxWb9VafYy/DK9hvo1KR2zsQR6KSMVpPUgDWpXdgbc1lvxumGm/CzVH3bN1sUU+54oi3ZIl1ZGyJ8IeFcRSNKm4KzEqfKnRXDsdrnB8sHzrSdG0Wyueh3Hh+JOjNgjjAI7is41GwltpWXB4Y+VJLuRIhj4/FQZYxNPOiZjRiowOe9S3juZYfB2xoh7iqiyuGiKiQceoq6iuFOMt39aZncRLVWRuMgsY4hmQmRh2ye1TrHTrnUZtseRGO71e6N0tqd5pw1WSwuDYHO1lX82PPPkPc/pmtr+EvwznuJLHVdRgtn0xhvCJMCuPIcZyaMxcVn/Oz1MXyHl66v8Ajo7P/iAnw+6EnubtI7aGVt3GSPpHua2mw+H2nadAJb2U3E4HZeFFH62NjYRCOyto4FUYCouMCoBilklIYcE1v0aA66E898hlu7aY7MH10+FlEccW1R2x5Va6Vpe0fUowOwq+03RmmwyKMDuSKtU0sxHBUE+1Pdnqv4gyvG8Nk3f8hU6lda2owMLip8NsVIOM1JjiEfcf2pt5dRWdlPdzsqRQozMScYAGazXuLGdHj+OWofl9QQ+JV3aNappFxKqwECS6GcZTyU/c1niLPq16lvpETR2ecBlBAx6AVP0fQL/4iard6tqJubXTJJNykjAYD8oX14rStO0yx0y0Sx0yBY4oxjfjJNY1mNdkW8lOgJttl0UYu9bLTnosUdlYxolqXnVAHc9yatI5i8e0oVPvXJYwlJnbsnf1PlWqtLjW23Oe+dVHShf8TyeBNhckjHNZ71T13DpUxjt9MuLhk5ZihIx7EVoG3cpLsX9fSs+686th0zUodCu9KVIr9SvimQblHbcQOw/WjK2IB+zM69EJB9CV8XxV0meI7tOnjcJllI7n2qN/6u0jWbdo7mwkt94zhudwNBlxZ2Nx1Lb6c1+kcs7lEdFynA7ggjNcIZRpFjeTzX5UQ3JSNf68E88/arKyzoWUa1KLh8FgBPuRurdHtrOzJ078e1Em76OTHnyNBrRR21rLM4BaU7VzWnnWp73Tra5s7ISyZ/GDxgl1PvihP4gdPSyqL2ytpIdhy8WOD7j0oHN8WTWbKhOn8L/UG2FOT19Ayl0u9hjuFWT+QcD3qaZWuYZQWG0c1S6akau7ztk/aul1dpFayxRNh5Dwa5Bwdz0QN13GS3D29qIUziR6VRbq4UJaxFgXHJpUx6MYGa5rET6drRnKgYYgxeQFVF7dRT6qJYnAQEYArRfiB0nLq8EeoWM6G5QfiBTwazSfTL3S7xUuYVGD9XPJp19RqFKN+UNukzsvbONg7NcPtfzIXNa7FIkbmNceGQAv27Vi/STNL1ZpUauUBuFGc8Ec8Vr3V8iafBBeKCIwSr48s9qGcEQ8sCwUwR6usLq11NJvGYWkh+hu4Q+h9KlaLmAZLdz3z5Va2t1FqdqY7hd0ci/UDQh1C9xoMoQkvbP/ANN/9D71TsMOoUCU/Fpaa9IY'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= '0iASJ4gUMP0UetSNV6w0mGO3mvA0KyLktgnaakp01Db2cVv4rxRIgDiMcv7ZoP64s7jVtTgtYEMWn2OOMcs3fHuOMVsC5uaj1OfyV4VMD3sy9NtbXTSXOnX0U4GSyxvuI9sVAOjXl1NEoh8GBcyOx4Yt5YzWc6cLvS9TGrQyzWkyyZbg4ceYI7Yp3UPXeq6m6xrJ8ug3B1TIV/TI9q2aibh7nPu61E9Qn164sBN/DbS3gur9wQFibJz6nFCGvdN6xa6hDDqM0RAjBKKDwDz3rRfgxo+mRad8+fxL6Xhi7ZKD29KlfFWwKz212owm0oxFKzhz4EQnGewVfMD1/wCJiV1aTWkweRlKA4J9Aa8tZ42kndWYbR9IJ7/+GiHUrL5nKuPoPcetB+r2dxZsxDE2+ePNv3rBzvH980nY+I8zv/juPcs7a6VoGBXOPbGD6VGurrfKUljwFAP0nJNVEt5IxjWNmAHI57+xqRpJbwmNxneeeTxWI1ZnWpaGhVBLDJBFG6DDHsfKueqWUCxNIse71Hkar7C6LTLGfpT8wHvVxdzLKqRnb3HFVEFTLRppnGv6WRM7BGVV+rkd6o5bdyykELzjBrWNagTwyuA7OmNuO9BOpWsIVGijBAPOfI1elm+oO9f3Bi7iEUZKtyePeuUUxK+GwIcDzqzvoJIgX2Hv6cGqu8g8KTxMBifqBz2ohWlBXucLi4kKBAjoyng+vvXAzO7qWGSPP0rwweM4Klss3PPep5swqhcdu9OSJH+JU6jPJDJHPDIUdG3Kw7g981uvw762i6l6ZUPKEv7YBbhPP2YexrDNXgTwtqqSRnzqP05qN7oOrJqFq211wGUnh181NaODkmk9+pieY8aubXofqHoz6DknmluwkaM3OMVanWbLpfbe6qVWYKXSIH6j7k/yj70K6H1fZy6aL3To99w4wVYcQt559TQv1HayavM813cs2/lyx4x6kentXR6WxeSmee/G9L8HHqQOvviDcdT6obu7laRUO2GBOI41/wBfvQlcK119cFtIY2GQwPf2rve2umicQWkkj/1P5sfYelTra0eWze1Qbd5EaKO249hWVkKnLinub2LpE2wlOtt8xA6iYsqcszYyD6Cn2SW8BH4ClFOST3Hvmr630po3i0+FAZXPOB/eumr6CILiHTkfLyDdIR5LT4b6Lb+vUlmK50F6/eUmjaUNV1mO2gUi2ZuWbyXNXV90xf2vUsh0q+MMEZxkH6ak6OtrYyyzSEo8TbYkH8wHmau7O2lSISSyBnkO+OLdyQ3mazL77Gt0h+50WLi1Cj/kGxLvTEuVs4kuZRLKB9TDzqSVPbBqVplqsdrGhzkDzqVLajyFdXTYQgDe55xl0h7nKetmQLZAQVNTI4g0TJjyyK8SLAcAcipGmKTIFbzFJ3+41CaIBlV4eXIA7UqtFtwbpuOM0qj8m4/9sdnUOEZGkPPNPkVdmPOo0Ue5sjg+tPKTLzuyKobGI9TVrzUPRnVgGTGO1eQRsWxXETMMkg5rpb3IVsmqShEJW5TPXTD4IrxI8RmuzMHfd617Gu5ePWoGS3v1ONswDk88V24MjZ5zXqRckYGTSK4cjFRPuT11PI+zhRxWkdOgQaBAx4/Dyazy3XuARk1oIIh0a3gB5ZVH+9MRvqJrBWC37CXGjr/y2892YmpDr+IQRxim2CbLSMe1SMUG/bGbuNXqlQf2lVcptYg5wabbRZfd3qZeRk8im2SENyOKnX+CECBPRyyBudJspFgVFt4yGLH71MnweDUS8njgh3Hz7D1/85qtrRWhJhFtPKwH9pB1e9MAO1lz5Agc1nfWnW8WlRGCKMTXr/VsAGEHluI4z/vUzWdQudbv5bPSGZUDbJJlHDHzCmqVukoGne3uI3urycBliBwsY5+pj5KMd/OsrGHz2Gy31+0jkMwThV7P3+0zm/1jUNSlbxJMLI3KLwKtodEhtdshb5lmUPux9Iz/AK1M/gVvc6w+n2biR4jjI/nx3I9B'
    $Test_Image &= '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'
    $Test_Image &= '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'
    $Test_Image &= 'h/AokRmEv1D+9VeoWkcNtuC5fd29qnVeA0osrDqZKs9X0u2aCS0iltpEYGQkBvp88ferrRdej1L5qZ8I0bkgeZX+Ws8aR2Yj8tWfSkrR6vHEB/1QUOe2fKtSu48h/Mx8nCT4mI9w66kbxdFkjAl3HByg7GgxrlYdNS3k5JbP1D6j+tXvUcWpXFtHdafdvHCU2Sxg8Zzyaqbjo+7On/xJ7nchGcVn52zd3Nbw4CYw1LHpOE6rq1rZWsGWLAvjyUV9F2twtpbxwjaNiAbfSvnP4SXzaP1lHuVmikXa7AZ2frX0NJCksit9ODyCPMUbghNHuZXm3t5gAdSUdQiPDx8U9ZbeTlSV+1MNkrRBVOK7W+n7YyOCcUYeExUFhMqdTuGaTw15ANPt5444x4qbifapJtNsv1+tK5tNrqzEbKsDrrUrNL7Jnvh2skBkAw3pSrg2fyRqaVMAZIkDrUvxz2r3djjOKVKtCZbeogT3Jr3cCe9KlSMr3Ee+TXoPHHalSpo4MWRT0BdwuO+BSpUjH3NK0GEIOBwqhR+lCemNu611HTyu13fMbefPNKlXI+WHLo/vPQf6a/GoAfYM0uzhEFukI/lH712pUqSjQ1NQSBqEoBxmq9JldmUsAcbufSlSoxfxTYnN5Tk5QU+jKDpZfnru91iT/wDNKY4gfJF4/uaKITlO2B5UqVMBpZLf/IxnrsBwDUeU+9KlViiDZDH1IF7IEUkmhbVJwz43dzSpUUo2NTAsJLwe1jT9Lvp4vn3MiRgkqZNqJ7n3qDJD0VawOsMElwY+XIkPfv8A60qVZNtfK3jsgTXx7SK9kb/zKaa08Fo7qyRhDNJwkv8ALnt+lWS6tf6ZqiwNmLaVDAHAbnyPpSpVueOUWNxac35OwqOa9GabYytdW8MwO4OvcVZ28ZA570qVV2dHqHY/5Abk6FSBXcZ7UqVBPOipUBRqcpnAUiVQykYII4rPOuemNHuQ0ttahHPLlDg0qVTXHrsG2EGszLqn0pmUa/oltZSN4d1O0Y5AaIn/ABQrNcRoGBP0g4+oEUqVZl9aoSBOhwbmsT8pGWO2dBMI0ZW/vTJ7OzkIIdIz5nGcUqVC71DLJ6unW0iH8WT2IjJFSh0mZlSZ74gd1ULgH2z5UqVHY6g+5lZBK71OGodN2qRkeJIobP5Hyf8A6oH6g0a6t7pTE8hiPGRk4+9KlVuRWq6IEqwrndiGMijTLd4sMVLdiRUjSrGC21WzMSMzGQfUe1KlQ9Lk2ATRyFArY/xC7pd7GLWJbW+Mfy/zOGEhwFDDP+aMurbLS5re00mwaCG3CEySq2WPPOBSpVHybH5ovBgf2/8AuVnRtjpOndL6ubaFJJXlKRNIv1nnFaZoluo0m2hkB3xxhSW8zSpVd4o75Ewbz/TIBJT20ijKkYrxWuEfjnilSrV5GYHET0FpFYMuDUCeZioVvI4FKlVijcrtHHWpItbSQR+MNp9jSpUqhyO47IBqf//Z'
    Local Const $bString = Binary(_WinAPI_Base64Decode($Test_Image))
    If $bSaveBinary Then
        Local Const $hFile = FileOpen($sSavePath & "\recep-ivedik-4.jpg", 18)
        If @error Then Return SetError(1, 0, 0)
        FileWrite($hFile, $bString)
        FileClose($hFile)
    EndIf
    Return $bString
EndFunc   ;==>_Test_Image

Func _WinAPI_Base64Decode($sB64String)
    Local $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(1, 0, "")
    Local $bBuffer = DllStructCreate("byte[" & $aCrypt[5] & "]")
    $aCrypt = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $bBuffer, "dword*", $aCrypt[5], "ptr", 0, "ptr", 0)
    If @error Or Not $aCrypt[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($bBuffer, 1)
EndFunc   ;==>_WinAPI_Base64Decode
Using the sharp function isn't much good as excepted.

 

I'm sure that there are some algorithms which can do this better...

 

Edit: forgot to undo test settings!

Edit2: added GUI to display original image

Br,

UEZ

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Scale2x scales the image without blurring but it will increase the image dimension whereas unpixeling will keep the image dimension.

 

 

It's normal that this kind of soft scales the image, because the pixelized image are often due to an exessive rescaling.

They use Pixel art scaling algorithms know as EPX, Scale3× or Eagle...

 

example from wiki for Scale3×

 

 
A B C --  1 2 3
D E F    > 4 5 6
G H I --/  7 8 9
 
 1=E; 2=E; 3=E; 4=E; 5=E; 6=E; 7=E; 8=E; 9=E;
 IF D==B AND D!=H AND B!=F => 1=D
 IF (D==B AND D!=H AND B!=F AND E!=C) OR (B==F AND B!=D AND F!=H AND E!=A) => 2=B
 IF B==F AND B!=D AND F!=H => 3=F
 IF (H==D AND H!=F AND D!=B AND E!=A) OR (D==B AND D!=H AND B!=F AND E!=G) => 4=D
 5=E
 IF (B==F AND B!=D AND F!=H AND E!=I) OR (F==H AND F!=B AND H!=D AND E!=C) => 6=F
 IF H==D AND H!=F AND D!=B => 7=D
 IF (F==H AND F!=B AND H!=D AND E!=G) OR (H==D AND H!=F AND D!=B AND E!=I) => 8=H
 IF F==H AND F!=B AND H!=D => 9=F

 

But analyze of nearest pixels must have some limits...  ;)


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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • Larnil
      By Larnil
      This script generates Barnsleys Fractal Fern using script only.
      ; version 2017-10-03 ; Barnsley Fractal Fern ; by larnil #include <GUIConstants.au3> Dim $x, $y, $xn, $yn, $n, $r, $dc $WinSize = 800 ; window size ;Create graphics windows AutoItSetOption("GUIOnEventMode", 1) $GUI = GUICreate("Barnsley Fractal Fern", $WinSize, $WinSize, -1, -1) $Graphic = GuiCtrlCreateGraphic(0, 0, $WinSize, $WinSize) GUICtrlSetBkColor(-1, 0x000000) GUICtrlSetGraphic(-1,$GUI_GR_COLOR, 0x00ff00) GUISetState(@SW_SHOW) GUISetOnEvent($GUI_EVENT_CLOSE,"Bye") ;Main $start = TimerInit() _Fern(800) ; hight of fern - can be larger than window MsgBox(0,"Time taken:",Round(TimerDiff($start)/1000,3) &" seconds") While 1 Sleep(100) WEnd Func Bye() Exit EndFunc Func _Fern($height) $f = $height/10.6 ; scale factor. Complete fern is within 0 <= y <= 9.9983 (with no scale) $offset_x = $height/2 - $height/40 ; Side adjustment. Fern is within −2.1820 < x < 2.6558 (with no scale) For $n = 1 To $height*200 ; Number of iterations $r = Random(0, 99, 1) Select Case $r < 85 ; 0-84 = 85% of the time $xn = 0.85 * $x + 0.04 * $y $yn = -0.04 * $x + 0.85 * $y + 1.6 Case $r > 84 AND $r < 92 ; 85-91 = 7% of the time $xn = 0.2 * $x - 0.26 * $y $yn = 0.23 * $x + 0.22 * $y + 1.6 Case $r > 91 AND $r < 99 ; 92-98 = 7% of the time $xn = -0.15 * $x + 0.28 * $y $yn = 0.26 * $x + 0.24 * $y + 0.44 Case Else ; 99-99 = 1% of the time $xn = 0 $yn = 0.16 * $y EndSelect $x = $xn $y = $yn GUICtrlSetGraphic($Graphic, $GUI_GR_PIXEL, $offset_x + $x * $f, $height - $y * $f) Next GUICtrlSetGraphic($Graphic, $GUI_GR_REFRESH) EndFunc ;==> Fern  
      Here is another example where I have used GDI (my very first attempt at using GDI by the way). This script can generate much larger Ferns and save them to file (png). I have used this script to generate a 20000 x 20000 pixel @ 600 dpi image. Looks really good printed out in full size.
      #include <GDIPlus.au3> #include <GUIConstantsEx.au3> ; Param Local Const $iPxColor = 0xFF00FF00 ; Pixel color for fractal Alpha/R/G/B Local Const $iBgColor = 0xFFFFFFFF ; Background color for image Alpha/R/G/B Local Const $iSize = 1000 ; Hight of fern in pixels - image will have this hight and width too Local Const $iIter = $iSize*400 ; Number of iterations - $iSize * 200 is a good starting point ; Call function ;$start = TimerInit() _Fern($iSize,$iIter) ;MsgBox(0,"Time taken:",Round(TimerDiff($start)/1000,3) &" seconds") ; Function for generating Barnsley Fractal Fern Func _Fern($Size,$Iter) _GDIPlus_Startup() ; initialize GDI+ Local $hBitmap = _GDIPlus_BitmapCreateFromScan0($Size, $Size) ; create an empty bitmap Local $hBmpCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) ; get the graphics context of the image _GDIPlus_GraphicsClear($hBmpCtxt, $iBgColor) ; Set the background color for empty bitmap ; Here the magic happens $x=0 ; init $y=0 ; init $f = $Size/10.6 ; scale factor. Complete fern is within 0 <= y <= 9.9983 (with no scale) $offset_x = $Size/2 - $Size/40 ; Side adjustment. Fern is within −2.1820 < x < 2.6558 (with no scale) For $n = 1 To $Iter ; Number of iterations $r = Random(0, 99, 1) Select Case $r < 85 ; 0-84 = 85% of the time $xn = 0.85 * $x + 0.04 * $y $yn = -0.04 * $x + 0.85 * $y + 1.6 Case $r > 84 AND $r < 92 ; 85-91 = 7% of the time $xn = 0.2 * $x - 0.26 * $y $yn = 0.23 * $x + 0.22 * $y + 1.6 Case $r > 91 AND $r < 99 ; 92-98 = 7% of the time $xn = -0.15 * $x + 0.28 * $y $yn = 0.26 * $x + 0.24 * $y + 0.44 Case Else ; 99-99 = 1% of the time $xn = 0 $yn = 0.16 * $y EndSelect $x = $xn $y = $yn _GDIPlus_BitmapSetPixel($hBitmap, $offset_x + $x * $f, $Size - $y * $f, $iPxColor) ; Change pixel color for calculated X,Y Next ; ==> End of magic $File = "\Fractal_Fern_"&StringRight(Hex($iPxColor),6)&"-"&StringRight(Hex($iBgColor),6)&"-"&$iSize&".png" _GDIPlus_ImageSaveToFile($hBitmap, @MyDocumentsDir & $File) ;save bitmap to disk ShellExecute(@MyDocumentsDir & $File); Show it to the world in your default image viewer ; Cleanup GDI+ resources _GDIPlus_GraphicsDispose($hBmpCtxt) _GDIPlus_BitmapDispose($hBitmap) _GDIPlus_Shutdown() EndFunc ;==> _Fern  
       

    • UEZ
      By UEZ
      Since I disovered FreeBasic I decided to create a DLL to implement much faster image processing functionality to AutoIt.
      Following functions are implemented yet:
      _GDIPlus_BitmapApplyFilter_BWJJNDithering _GDIPlus_BitmapApplyFilter_Cartoon1 _GDIPlus_BitmapApplyFilter_ColorAccent _GDIPlus_BitmapApplyFilter_Convolution_AnotherBlur _GDIPlus_BitmapApplyFilter_Convolution_BoxBlur _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection1 _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection2 _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection3 _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection4 _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection5 _GDIPlus_BitmapApplyFilter_Convolution_EdgeDetection6 _GDIPlus_BitmapApplyFilter_Convolution_Emboss1 _GDIPlus_BitmapApplyFilter_Convolution_Emboss45Degree _GDIPlus_BitmapApplyFilter_Convolution_EmbossTopLeftBottomRight _GDIPlus_BitmapApplyFilter_Convolution_Gaussian3x3 _GDIPlus_BitmapApplyFilter_Convolution_Gaussian5x5_1 _GDIPlus_BitmapApplyFilter_Convolution_Gaussian5x5_2 _GDIPlus_BitmapApplyFilter_Convolution_GaussianBlur _GDIPlus_BitmapApplyFilter_Convolution_IntenseEmboss _GDIPlus_BitmapApplyFilter_Convolution_Kirsch _GDIPlus_BitmapApplyFilter_Convolution_Laplace1 _GDIPlus_BitmapApplyFilter_Convolution_Laplace2 _GDIPlus_BitmapApplyFilter_Convolution_Laplace3 _GDIPlus_BitmapApplyFilter_Convolution_LaplacianOfGaussian _GDIPlus_BitmapApplyFilter_Convolution_ManualMatrix _GDIPlus_BitmapApplyFilter_Convolution_MotionBlur _GDIPlus_BitmapApplyFilter_Convolution_Outline3x3 _GDIPlus_BitmapApplyFilter_Convolution_Prewitt _GDIPlus_BitmapApplyFilter_Convolution_Sharpen1 _GDIPlus_BitmapApplyFilter_Convolution_Sharpen2 _GDIPlus_BitmapApplyFilter_Convolution_Sobel _GDIPlus_BitmapApplyFilter_Convolution_SovelVsPrewitt _GDIPlus_BitmapApplyFilter_Convolution_TriangleBlur _GDIPlus_BitmapApplyFilter_Convolution_Unsharp _GDIPlus_BitmapApplyFilter_Convolution_Unsharp5x5 _GDIPlus_BitmapApplyFilter_Dilatation _GDIPlus_BitmapApplyFilter_DistortionBlur _GDIPlus_BitmapApplyFilter_Edges _GDIPlus_BitmapApplyFilter_Erosion _GDIPlus_BitmapApplyFilter_FishEye _GDIPlus_BitmapApplyFilter_Indexed _GDIPlus_BitmapApplyFilter_Jitter _GDIPlus_BitmapApplyFilter_Kuwahara _GDIPlus_BitmapApplyFilter_Linellism _GDIPlus_BitmapApplyFilter_Median _GDIPlus_BitmapApplyFilter_Median2 _GDIPlus_BitmapApplyFilter_OilPainting _GDIPlus_BitmapApplyFilter_PenSketch _GDIPlus_BitmapApplyFilter_PenSketch2 _GDIPlus_BitmapApplyFilter_Pixelate _GDIPlus_BitmapApplyFilter_Pointillism _GDIPlus_BitmapApplyFilter_RadialBlur _GDIPlus_BitmapApplyFilter_Raster _GDIPlus_BitmapApplyFilter_Swirl _GDIPlus_BitmapApplyFilter_SymmetricNearestNeighbour _GDIPlus_BitmapApplyFilter_TiltShift _GDIPlus_BitmapApplyFilter_TimeWarp _GDIPlus_BitmapApplyFilter_Wave _GDIPlus_BitmapApplyFilter_XRay  
      Since I am absolutely a newbie in FreeBasic, the DLL may contain errors.  Please report any bug.
       
      FreeBasic source code can be found here: https://pastebin.com/Lugp6rCR
       
      To do:
      add function headers with descriptions speed-up FB code -> partly done add more filters -> ongoing  
      Credits to:
      Jakub Szymanowski rdc Dewald Esterhuizen Santhosh G_  Christian Graus www.gutgames.com  
      Have fun.
       
      Download link: 
       
      You can compare the speed with AutoIt version:
      #AutoIt3Wrapper_Version=b #include <Array.au3> #include <GDIPlus.au3> Global $sFile = FileOpenDialog("Select an image", "", "Images (*.jpg;*.png;*.gif;*.bmp)") If @error Then Exit _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172 Global Const $hImage = _GDIPlus_ImageLoadFromFile($sFile) Global Const $iW = _GDIPlus_ImageGetWidth($hImage), $iH = _GDIPlus_ImageGetHeight($hImage) Global Const $hGUI = GUICreate("GDI+ Image Filters", $iW * 2, $iH) Global $fProg = 0, $iEnd = $iW * $iH - 1 AdlibRegister("Progress", 490) Global $t = TimerInit() Global Const $hGDIBitmap = _GDIPlus_BitmapApplyFilter_Median($hImage, 4) ConsoleWrite(Round(TimerDiff($t) / 1000, 2) & " s / " & Round(TimerDiff($t) / 60000, 2) & " min" & @CRLF) Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW - 1, $iH - 1) Global Const $iPic_o = GUICtrlCreatePic("", $iW, 0, $iW - 1, $iH - 1) _WinAPI_DeleteObject(GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hGDIBitmap)) Global Const $hGDIBitmap2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage) _WinAPI_DeleteObject(GUICtrlSendMsg($iPic_o, $STM_SETIMAGE, $IMAGE_BITMAP, $hGDIBitmap2)) GUISetState() AdlibUnRegister("Progress") ToolTip("") Do Until GUIGetMsg() = -3 _GDIPlus_ImageDispose($hImage) _WinAPI_DeleteObject($hGDIBitmap) _WinAPI_DeleteObject($hGDIBitmap2) _GDIPlus_Shutdown() Exit Func Progress() ToolTip(Int($fProg / $iEnd * 100) & " % / " & Round(TimerDiff($t) / 60000, 2) & " min", MouseGetPos(0) + 30, MouseGetPos(1) + 30) EndFunc #Region Symmetric Nearest Neighbour Func _GDIPlus_BitmapApplyFilter_SymmetricNearestNeighbour($hImage, $fRadius = 2, $bGDI = True) ;no alpha channel implemented yet Local Const $iW = _GDIPlus_ImageGetWidth($hImage), $iH = _GDIPlus_ImageGetHeight($hImage) Local Const $hBitmap_Dest = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $tBitmapData_Dest = _GDIPlus_BitmapLockBits($hBitmap_Dest, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMWRITE, $GDIP_PXF32ARGB) Local Const $iScan0_Dest = DllStructGetData($tBitmapData_Dest, "Scan0") Local Const $tPixel_Dest = DllStructCreate("int[" & $iW * $iH & "];", $iScan0_Dest) Local Const $tBitmapData = _GDIPlus_BitmapLockBits($hImage, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMREAD, $GDIP_PXF32ARGB) Local Const $iScan0 = DllStructGetData($tBitmapData, "Scan0") Local Const $tPixel = DllStructCreate("int[" & $iW * $iH & "];", $iScan0) Local $iRowOffset, $iX, $iY, $c, $k, $sumR, $sumG, $sumB, $iCount, $xx, $yy, $iR, $iG, $iB, $iR1, $iG1, $iB1, $iR2, $iG2, $iB2, $x, $y For $iY = 0 To $iH - 1 $iRowOffset = $iY * $iW For $iX = 0 To $iW - 1 $sumR = 0 $sumG = 0 $sumB = 0 $iCount = 0 $c = DllStructGetData($tPixel, 1, $iRowOffset + $iX) $iR = BitShift(BitAND(0x00FF0000, $c), 16) $iG = BitShift(BitAND(0x0000FF00, $c), 8) $iB = BitAND(0x000000FF, $c) For $yy = -$fRadius To $fRadius For $xx = -$fRadius To $fRadius $k = $iX + $xx $x = $k < 0 ? 0 : $k > $iW - 1 ? $iW - 1 : $k $k = $iY + $yy $y = $k < 0 ? 0 : $k > $iH - 1 ? $iH - 1 : $k $c = DllStructGetData($tPixel, 1, $y * $iW + $x) $iR1 = BitShift(BitAND(0x00FF0000, $c), 16) $iG1 = BitShift(BitAND(0x0000FF00, $c), 8) $iB1 = BitAND(0x000000FF, $c) $k = $iX - $xx $x = $k < 0 ? 0 : $k > $iW - 1 ? $iW - 1 : $k $k = ($iY - $yy) $y = $k < 0 ? 0 : $k > $iH - 1 ? $iH - 1 : $k $c = DllStructGetData($tPixel, 1, $y * $iW + $x) $iR2 = BitShift(BitAND(0x00FF0000, $c), 16) $iG2 = BitShift(BitAND(0x0000FF00, $c), 8) $iB2 = BitAND(0x000000FF, $c) If __DeltaE($iR, $iG, $iB, $iR1, $iG1, $iB1) < __DeltaE($iR, $iG, $iB, $iR2, $iG2, $iB2) Then $sumR += $iR1 $sumG += $iG1 $sumB += $iB1 Else $sumR += $iR2 $sumG += $iG2 $sumB += $iB2 EndIf $iCount += 1 Next Next DllStructSetData($tPixel_Dest, 1, 0xFF000000 + Int($sumR / $iCount) * 0x10000 + Int($sumG / $iCount) * 0x100 + Int($sumB / $iCount), $iRowOffset + $iX) $fProg += 1 Next Next _GDIPlus_BitmapUnlockBits($hImage, $tBitmapData) _GDIPlus_BitmapUnlockBits($hBitmap_Dest, $tBitmapData_Dest) _GDIPlus_ImageSaveToFile($hBitmap_Dest, @ScriptDir & "\Filter_SNN" & $fRadius & "_" & @YEAR & @MON & @MDAY & @MIN & @SEC & ".png") If $bGDI Then Local $hGDIBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_Dest) _GDIPlus_BitmapDispose($hBitmap_Dest) Return $hGDIBitmap EndIf Return $hBitmap_Dest EndFunc Func __DeltaE($iR1, $iG1, $iB1, $iR2, $iG2, $iB2) Return Sqrt(($iR1 - $iR2) * ($iR1 - $iR2) + ($iG1 - $iG2) * ($iG1 - $iG2) + ($iB1 - $iB2) * ($iB1 - $iB2)) EndFunc #EndRegion #Region Jitter Func _GDIPlus_BitmapApplyFilter_Jitter($hImage, $iAmount = 20, $bGDI = True) Local Const $iW = _GDIPlus_ImageGetWidth($hImage), $iH = _GDIPlus_ImageGetHeight($hImage) Local Const $hBitmap_Dest = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $tBitmapData_Dest = _GDIPlus_BitmapLockBits($hBitmap_Dest, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMWRITE, $GDIP_PXF32ARGB) Local Const $iScan0_Dest = DllStructGetData($tBitmapData_Dest, "Scan0") Local Const $tPixel_Dest = DllStructCreate("int[" & $iW * $iH & "];", $iScan0_Dest) Local Const $tBitmapData = _GDIPlus_BitmapLockBits($hImage, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMREAD, $GDIP_PXF32ARGB) Local Const $iScan0 = DllStructGetData($tBitmapData, "Scan0") Local Const $tPixel = DllStructCreate("int[" & $iW * $iH & "];", $iScan0) Local $iX, $iY, $iRowOffset, $fNX, $fNY For $iY = 0 To $iH - 1 $iRowOffset = $iY * $iW + 1 For $iX = 0 To $iW - 1 $fNX = $iX + Int((Random() - 0.5) * $iAmount) $fNX = $fNX < 1 ? 1 : $fNX > $iW - 1 ? $iW - 1 : $fNX $fNY = ($iY + Int((Random() - 0.5) * $iAmount)) $fNY = $fNY < 1 ? 1 : $fNY > $iH - 1 ? $iH - 1 : $fNY $fNY *= $iW DllStructSetData($tPixel_Dest, 1, DllStructGetData($tPixel, 1, $fNY + $fNX), $iRowOffset + $iX) $fProg += 1 Next Next _GDIPlus_BitmapUnlockBits($hImage, $tBitmapData) _GDIPlus_BitmapUnlockBits($hBitmap_Dest, $tBitmapData_Dest) _GDIPlus_ImageSaveToFile($hBitmap_Dest, @ScriptDir & "\Filter_Jitter" & $iAmount & "_" & @YEAR & @MON & @MDAY & @MIN & @SEC & ".png") If $bGDI Then Local $hGDIBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_Dest) _GDIPlus_BitmapDispose($hBitmap_Dest) Return $hGDIBitmap EndIf Return $hBitmap_Dest EndFunc #EndRegion #Region Median Func _GDIPlus_BitmapApplyFilter_Median($hImage, $fRadius = 3, $bGDI = True) Local Const $iW = _GDIPlus_ImageGetWidth($hImage), $iH = _GDIPlus_ImageGetHeight($hImage) Local Const $hBitmap_Dest = _GDIPlus_BitmapCreateFromScan0($iW, $iH) Local Const $tBitmapData_Dest = _GDIPlus_BitmapLockBits($hBitmap_Dest, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMWRITE, $GDIP_PXF32ARGB) Local Const $iScan0_Dest = DllStructGetData($tBitmapData_Dest, "Scan0") Local Const $tPixel_Dest = DllStructCreate("int[" & $iW * $iH & "];", $iScan0_Dest) Local Const $tBitmapData = _GDIPlus_BitmapLockBits($hImage, 0, 0, $iW - 1, $iH - 1, $GDIP_ILMREAD, $GDIP_PXF32ARGB) Local Const $iScan0 = DllStructGetData($tBitmapData, "Scan0") Local Const $tPixel = DllStructCreate("int[" & $iW * $iH & "];", $iScan0) Local $iX, $iY, $iRowOffset For $iY = 0 To $iH - 1 $iRowOffset = $iY * $iW + 1 For $iX = 0 To $iW - 1 DllStructSetData($tPixel_Dest, 1, __Median_Value($iX, $iY, $fRadius, $tPixel, $iW, $iH), $iRowOffset + $iX) $fProg += 1 Next Next _GDIPlus_BitmapUnlockBits($hImage, $tBitmapData) _GDIPlus_BitmapUnlockBits($hBitmap_Dest, $tBitmapData_Dest) _GDIPlus_ImageSaveToFile($hBitmap_Dest, @ScriptDir & "\Filter_Median" & $fRadius & "_" & @YEAR & @MON & @MDAY & @MIN & @SEC & ".png") If $bGDI Then Local $hGDIBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_Dest) _GDIPlus_BitmapDispose($hBitmap_Dest) Return $hGDIBitmap EndIf Return $hBitmap_Dest EndFunc Func __Median_Value($iPosX, $iPosY, $fRadius, $tPixel, $iW, $iH) Local $iX, $iY, $aColors[1000], $iColors = 0, $iSize = $iW * $iH - 1, $iOff, $e For $iX = $iPosX - $fRadius To $iPosX + $fRadius For $iY = $iPosY - $fRadius To $iPosY + $fRadius $iOff = 1 + $iY * $iW + $iX $aColors[$iColors] = DllStructGetData($tPixel, 1, $iOff < 1 ? 1 : $iOff > $iSize ? $iSize : $iOff) $iColors += 1 Next Next ReDim $aColors[$iColors] ;~ _ArraySort($aColors, 0) $e = $iColors - 1 __ArrayQuickSort1D($aColors, 0, $e) Local $iMid = Floor($iColors / 2), $iMedian If BitAND($iColors, 1) Then $iMedian = Int($aColors[$iMid + 1]) Else $iMedian = Int(($aColors[$iMid] + $aColors[$iMid + 1]) / 2) EndIf Return $iMedian EndFunc #EndRegion  
    • rootx
      By rootx
      how can I fit the image when the GUI is maximized? I would like to always measure the 50% height and width of the GUI and is always in the bottom right poistion, and does not lose its quality.
      THX
       
      #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GDIPlus.au3> #include <Array.au3> #include <WinAPI.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 615, 437, 192, 124,BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_TABSTOP)) _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile(@ScriptDir&"\img.jpg") $hGraphics = _GDIPlus_GraphicsCreateFromHWND($Form1) $resimg = _GDIPlus_ImageResize($hImage,200,300) _GDIPlus_GraphicsDrawImage($hGraphics, $resimg, 0, 0) GUIRegisterMsg($WM_PAINT, "MY_WM_PAINT") ;GUIRegisterMsg($WM_SIZE, "WM_SIZE") GUISetState(@SW_SHOW,$Form1) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func MY_WM_PAINT($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg, $wParam, $lParam _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_UPDATENOW) _GDIPlus_GraphicsDrawImage($hGraphics, $resimg, 300, 0) _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_VALIDATE) Return $GUI_RUNDEFMSG EndFunc ;==>MY_WM_PAINT ;Func WM_SIZE($hWnd, $iMsg, $iwParam, $ilParam) ; #forceref $hWnd, $iMsg, $iwParam, $ilParam ; Local $xClient, $yClient ; $xClient = BitAND($ilParam, 0x0000FFFF) ; $yClient = BitShift($ilParam, 16) ; _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_UPDATENOW) ; _GDIPlus_GraphicsDrawImage($hGraphics, $resimg, $xClient/2, $yClient/2) ; _WinAPI_RedrawWindow($Form1, 0, 0, $RDW_VALIDATE) ; ConsoleWrite($xClient & " "&$yClient&@CR) ; Return $GUI_RUNDEFMSG ;EndFunc  
    • chacoya121
      By chacoya121
      plz help explain between GDI+ and Winapi, is it desktop inside another desktop, 3 layer dimension?
      i can't get the picture
      1. u get desktop u can visual see
      2. then u create GDI+ startup another desktop screen dimension?
      3. then u have Winapi command inside GDI+, is this another desktop screen dimension? cuz GDI+ could create bitmap that is one dimension? Winapi get windowDC also another dimension?
      plz help and explain, with picture would be nice, im not good with visualize ("dumb newbie"), still learning
      newbie to programming world
      thankyou.
    • mdwerne
      By mdwerne
      I'm attempting to cobble together a replacement for the 64bit version of BGInfo that will run within WinPE 10/64. I've located a couple useful threads:
       Between the two, they get me close (see code below), but for some reason GDI+ is not working the same within WinPE as it does in Windows 10. Bottomline is that the "Text" never get's written to WallPaper.
      Here is what I have thus far. Any thoughts if any of the GDI commands might not work within WinPE? Any other way to achieve the same result (system information on the wallpaper in WinPE 10)?
      #include <GDIPlus.au3> #include <Date.au3> _GDIPlus_Startup() $image = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\WallPaper.bmp") $imagegraphics = _GDIPlus_ImageGetGraphicsContext($image) $w = _GDIPlus_ImageGetWidth($image) $h = _GDIPlus_ImageGetHeight($image) $whitebrush = _GDIPlus_BrushCreateSolid(0xFFFFFFFF) $fontfamily = _GDIPlus_FontFamilyCreate("Arial") $font = _GDIPlus_FontCreate($fontfamily, 16) $stringformat = _GDIPlus_StringFormatCreate() _GDIPlus_StringFormatSetAlign($stringformat, 2) $rect = _GDIPlus_RectFCreate(0, $h - $h + 100, $w - 25, $h) ;$rect = _GDIPlus_RectFCreate(100, 100, 200, 200) _GDIPlus_GraphicsDrawStringEx($imagegraphics, _Now() & @CRLF & @UserName & @CRLF & @ComputerName & @CRLF & @IPAddress1, $font, $rect, $stringformat, $whitebrush) _GDIPlus_ImageSaveToFile($image, @ScriptDir & "\NewWallPaper.bmp") _GDIPlus_ImageDispose($image) _GDIPlus_GraphicsDispose($imagegraphics) _GDIPlus_BrushDispose($whitebrush) _GDIPlus_FontFamilyDispose($fontfamily) _GDIPlus_FontDispose($font) _GDIPlus_StringFormatDispose($stringformat) _GDIPlus_Shutdown() _ChangeDesktopWallpaper(@ScriptDir & "\NewWallPaper.bmp", 2) Func _ChangeDesktopWallpaper($bmp, $style = 0) ;=============================================================================== ; ; Function Name: _ChangeDesktopWallPaper ; Description: Update WallPaper Settings ; Usage: _ChangeDesktopWallPaper(@WindowsDir & '\' & 'zapotec.bmp',1) ; Parameter(s): $bmp - Full Path to BitMap File (*.bmp) ; [$style] - 0 = Centered, 1 = Tiled, 2 = Stretched ; Requirement(s): None. ; Return Value(s): On Success - Returns 0 ; On Failure - -1 ; Author(s): FlyingBoz ; Thanks: Larry - DllCall Example - Tested and Working under XPHome and W2K Pro ; Excalibur - Reawakening my interest in Getting This done. ; ;=============================================================================== If Not FileExists($bmp) Then Return -1 ;The $SPI* values could be defined elsewhere via #include - if you conflict, ; remove these, or add if Not IsDeclared "SPI_SETDESKWALLPAPER" Logic Local $SPI_SETDESKWALLPAPER = 20 Local $SPIF_UPDATEINIFILE = 1 Local $SPIF_SENDCHANGE = 2 Local $REG_DESKTOP = "HKEY_CURRENT_USER\Control Panel\Desktop" If $style = 1 Then RegWrite($REG_DESKTOP, "TileWallPaper", "REG_SZ", 1) RegWrite($REG_DESKTOP, "WallpaperStyle", "REG_SZ", 0) Else RegWrite($REG_DESKTOP, "TileWallPaper", "REG_SZ", 0) RegWrite($REG_DESKTOP, "WallpaperStyle", "REG_SZ", $style) EndIf DllCall("user32.dll", "int", "SystemParametersInfo", _ "int", $SPI_SETDESKWALLPAPER, _ "int", 0, _ "str", $bmp, _ "int", BitOR($SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE)) Return 0 EndFunc ;==>_ChangeDesktopWallpaper Thanks for your time,
      -Mike