Sign in to follow this  
Followers 0
jorgev

resize bitmap without loosing transparency

5 posts in this topic

Hi all,

I'm trying to resize a bitmap loaded from memory, and display it in a picture control.

been trying for 2 days but i loose transparency when i resize

i've made a little example to illustrate, $hBitmap2 should be resized to 100*100

A little help would be much appriciated.

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

_GDIPlus_Startup()
Global Const $STM_SETIMAGE = 0x0172
Global $msg
Global $img = _BlackBishop()
Global $hBitmap = _GDIPlus_BitmapCreateFromMemory ( $img ,true)
Global Const $hGUI = GUICreate("Display PNG Image in picture control", 500, 500)
GUISetState()

$idPic1 = GUICtrlCreatePic("", 10, 10, 200, 200) ; original image
_WinAPI_DeleteObject(GUICtrlSendMsg($idPic1, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap))

$idPic2 = GUICtrlCreatePic("", 300, 10, 100, 100) ; resized picture
$hBitmap2 = _GDIPlus_BitmapCreateFromMemory ( $img ,true)
;
;resize $hBitmap2 without loosing transparency??
;
_WinAPI_DeleteObject(GUICtrlSendMsg($idPic2, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap2))

While True
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Func _BlackBishop()
    Local $BlackBishop
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= 'Gp586gf45reewonRkytKllQqJXVdQ7QHqllmLWy8llKqhocrIchmAWE2UiGWqliFQg7/8dd/AQ89+H4MDPRBX5J0LY7u5eZ4XRKW0hi1zUyGzGdWPqCWoF5qETQtoqQxl/MZHqjWy2/5nJe+Zxg6im0F3POeO3DXnbfi4z/9GP72776Iv/5vf7dsLt5YCVSIMlI2SRJJkUjF2qz158Vm5Ydju9PRAFiKYrENj334QWzbOghd0yIpsMKBZV431wxOTzrd+AxL/4/Tv9P6W5xb22/0nmkauPyyS/HhRz8AwzSWfRaKWbZIiFiCUJMkSzdTJRJkU+C1fQeOLNfh1WoNh48Moae788xplk+f0SNrlpWCYsbCQjXyOM3Nw/d9zMyWwMyYny+f96p8LpdFPp+Dpmno6e6EZaXQ2dmB9vY2pC1rSe3Dc8Err+5f0U3rup40jNRpBEGrcY6NVv88IchZPVKmAoIzBk21WseRI0O48523ND1LrWpMuVzBXKmEubkyjo+M4uix4zhxYhzDx0dRqVTh+wFcz4MKFVzXBQPwPP+8PUu6rsMwdBAR0pYFTdeiFEEpE93dndi6ZQCX7d6Jyy/bicHBfvR0d6K9vYhUylziGQOilfTXXj+4YupU3w98KWWTFFFWk6a7tzUWKyHIZsGlO7eriYkpf3ZufklZBCklDhw8Cs/zoesaqtU6Tp6axEsvv47X9x3E4SPDOHlyAqcmpuF5b16slpSySV7bdpZ8dvTY8SUkKBYL2L5tCwYH+3Dl5btx803XYc+Vu9HWVkAmk0alUsWxoZFlvVmapqG92IZGZP3iIiErZkhmpZQKwK6TEGQzIZNOS03Tl3X1vvb6QfzouZfw3POv4PtPP4t9+w/DcZxV1/p7MxGpcAuYn1/AK6/uxze++VRzveamG6/FXXfeisGBPpw4Mba8ESoEstm0qtaaJZzj/SAkiaDCkFXgs6oHMlGxNhM6uzv8kxNTZQBdp3+2b/8hfPLffwpzpXm83fIThGEIxwkxPj6B8fEJPP7N76CtrYC5FfazEJFKpVKyVncbhFOxBJEMRFuTo7D3RIJcSHz8Zx7LDB8fzR0+PGTtuXL3jWGori6XF/rrdTtz8tSkudxuPiJCb0+XzOdzEgAsK+XnC/myECQNTT9JQpRHRkb3HR8ZK1+2eycKhbzq7GqXAJDNpC1W6hSAXcvo5JiZndsQHex5PqanZ99IBgFEStd1nQDBYFMplfE8v2ClzG39W/suM3TdV8xbQYBdd3L1up1jZsgwxIkT49ZKk0h/f48s5PN+Z1f7bMowhyYmp18ggdmdO7bbnu9Vvv3tpy9679gFtbyuufoKfceObTcdPHT0Jtt23kFEt8/MzHUFgbSIyIwrQok3msVPK8O86JJkVgwopZRPBNXZ2eGnTNM3U2Y57pDy9PRMT73uXIFNDE3TsHXroB0veKpASnieLxYWKggCH0SRm4yI4smUBfPi8sC59A0RxbsT4Xd2ttuZTPqA5/nf3XPl7pfqtv30yPExe2ZmTqmlrubNS5AHP/DeLUNDJ26v1uo/PztXujYMwy7fD3Qk2DQQQsA0jXIumx3u6en8Wi6Xfdy2nQMHDx12w3BJYgi1KQjyq7/4CfHSK/u6HNf98OjoqY8vVCo3JqRI0LCDisXCZGdH+ze6utr/z/GTU/umpmZ8KaVs2kQXiChvCUHueOctQhN03+Gjw785O1u6RcrQTIZFguWI0t7edqqzo/0vM9nsP544caLk+670vECGIS5IyqE3vT7IQx98f/Ho0PFfGxo+8ZlSqXyFUqwlQyHBShxxHLdQrdbu0HX9hoGB/pEwxIJhaCQEUxCEy5Wqf/sS5IEH7tl24ODRz4yNnvwl1/MKSf8nOBcopfRqtbYjCPybe3u6x1lhnqGxEII4qj6s3iqSvGkEefjh+7e89tqBPztxYvwxpZSRdHuC8wEzw7bdLsd1bh0c7J93Xf+UrutCCMEAEIZhI+CZ33YEefih'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= 'PZIgJJi5MVjFm7Guskw/Ntpp2kaLf0kHswliU0qVjlXHxtFIRGgTkcvMkokUeO2Ff/R1uEmllJKaJiQz27Gffj5+nlZMABvgahyYZxNgc0SkxoysYm+QYmYZ77Br3JxaYWC3EuK8O7C1pFjcSarpVFaQHCe/jlQrJeMqa5IIklnKMAwVM0sppfR9XzGz8jxvOfvqzUazndhbI33fF5qmCdM0XcEsUum0ToDOgNB0XWchdE3ThJRS1zRNZ7BgFTZmbJ2IBZEmGtJjjc/5jey+1r/xuVlECbM5lmLQwRANG4MIplKciQxyFADKx8a5ANgF8zyYa0SwVaSdrIkkayWICsOw4ba1NU2rAJiNl6RsIqHHBKgRocKKa8xcU1A2EaRSwo/tDRnVw5MqSlxMiG2RN1Sb1jKrNX7bqmZFScmkCsOoNl9DAhAp5bquUoqUEEIBrqrXw3gGV8uR4UJtq2x6vaI6IQ4ACMf3RTwARexB0jlS6nXLssDMQjDr0DQoJYWmkdA0IeKZXazlWbf+bqW+XKoFQCgVCl0HlNIEWEVlGYgEkTJVCJ1IZGIHRCE+Msysx+pwBYRZhqqRgOs7vnQcR10wCeL7vgqCwDcM3SbiciSqySdCCcw6RVLCDhXXWKmaxmwrwFUEyRw2Zt64YCQrpaLZ/bSyButOkOU6LOJEHbXa4noHEUFFu3Cwgrp0Me4xVkvX5hajHWq1mojVYEFEjQXYVo+VyOU0CJE9w0Bf7+e9kjRhZiEEwExCYxamaYqoDjWLyMYKTSkpExEFOQIyHKlZkphtBlfAXGbybcBp0VLeYi/W4vqbMHO5nJXNZjJEouFmjL1XSgLkKqVsltJVSvm+5/m+UkoIoZhZxTPdkk69MEUjubUWuToX9/AGgFju/xeqaGeLDQIAMABhptNgIqGUEoZBInJGCFMIw9K1yAnBIB0gCGZfqbDGIrAdJ7CrVdsNQ+VfUILEJNELhYJp6LplCGGypjUMLRmGoe84ju97ngyklPFuL5xlgSzB5oU4y1gThqHrppnSMxnT1DShA7oOEJRSUgaB77oV33akr1TDW7pKqbe+LkchTCH0jGUJpevxTCRVve6pILjwtR4SbCjyCCISuq7rqZQhDCMlAEBKqRzHaexLP9tE/JYRZAlRzuZtSZBgvcmyggay5vFGb/KFJ+pSgreaLMl4S5AgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYLl8P8DwioehtXOZ78AAAAASUVORK5CYII='
    Local $bString = Binary(_WinAPI_Base64Decode($BlackBishop))
    Return  $bString

EndFunc   ;==>_BlackBishop

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

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Try this:

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

_GDIPlus_Startup()
Global Const $STM_SETIMAGE = 0x0172
Global $msg
Global $img = _BlackBishop()
Global $hBitmap = _GDIPlus_BitmapCreateFromMemory ( $img ,true) ;GDI bitmap
Global Const $hGUI = GUICreate("Display PNG Image in picture control", 500, 500)
GUISetState()

$idPic1 = GUICtrlCreatePic("", 10, 10, 200, 200) ; original image
_WinAPI_DeleteObject(GUICtrlSendMsg($idPic1, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap)) ;only a GDI bitmap can be sent!

$idPic2 = GUICtrlCreatePic("", 300, 10, 100, 100) ; resized picture
$hBitmap2 = _GDIPlus_BitmapCreateFromMemory ( $img ) ;GDI+ bitmap
$hBitmap_resized = _GDIPlus_ImageResize($hBitmap2, 100, 100) ;GDI+ bitmap
$hHBitmap2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_resized) ;GDI bitmap
;
;resize $hBitmap2 without loosing transparency??
;
_WinAPI_DeleteObject(GUICtrlSendMsg($idPic2, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap2)) ;only a GDI bitmap can be sent!

While True
    $msg = GUIGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            _GDIPlus_BitmapDispose($hBitmap2)
            _GDIPlus_BitmapDispose($hBitmap_resized)
            _WinAPI_DeleteObject($hHBitmap2)
            _WinAPI_DeleteObject($hBitmap)
            _GDIPlus_Shutdown()
            Exit

    EndSwitch
WEnd

Func _BlackBishop()
    Local $BlackBishop
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= '3H7bO866qp5Op1RbIX+6xFBRGQRWQKgAqYAwIcjFhu3bt6hCPi8TKiwPKUO88NLrqDa24zIApsayOrZuHThrcjlmSBC5S4nRlB6KmZTrevA8LyHIxYbO9naZSpl2QoWV8fIr+zA3V2oa0tSSx7e3t/usBBFCyHrd8VtIIQH4AEtmlgApZqHCcOPYJRuGIF3dna6m69MJDVbG7GwJBw4cjQVItE8kMtiBTDqNPXt2r7gVl4jQ093VqJOOJkEiYkgAksJQUiRVEglysaG9WCh7nnckocHKUErhe9//UXM9hJtZ5qK/1197FQxj5WAEoWn2EnIAEkSSmX1mSCWEghCtaldCkIsFzz73Uo1AR1abf3YzgJnx2r6DqNfri8myiJvVcq+4YtfS8tJLDHRLVav1WqvNEZPEIyKfmf0wDGUQBIkEuRhx+MiwuuLyS8d0TXMTKqyMqamZOPti64JelAu+q7MDl1yyddnftbUVpGWlZOzGVczsA+wirp3OzBLM0vO8DSM9gCiOZsPASqd+BEIN0UaeBMtgemYOr+87iGLbmSlIbcfFYH8v9u07dMZnruvbum7I2HMliZoGus8MVyP4ilkS0YaSIBuKIBMT08d6eromx8cnuhIqLA/HcfGfP/1ZZJdJ+8PMmJstnTlIdB29PV1utWaf5r2iWIqwr6CkglQtRnxCkIsN+XzedRz3KQBXJ1R4AzVrehaYnj13PVyQCkPVYn+wBMgngssMlxm+UuS7biDDMMRGUrE2lEX7o2df9DPZ9BOZTDpZD1lHdHd3Scd1/fi/kfcK7ANwIoKwG71HG8r+2HAEYWZsGeh7wTSMi8bdGyVIiJIkaJoGXW8cOkzDgGlGh2HoLZ9p0DQBIeiiiG3Sdb3WMvglM3ygQQx2idhXSvmO42w4gmy4HXiPf/Op6Wuv2fO1yv5D174V1aWICLlsBplsBoV8Dvl8FqZpIp/LwTB09PZ0IZ1OwzB09Pf3QNOizOqpVAq9vd3QYrd0pVpDqTTfXOWu1eqYnZuHDCQmpqbhuh6q1Rocx0W1VkO1Uke1Fv3/zUQul1WGYdSkbHqnFBF8gFyA7Ygo5MeFPDdcZO9GI4gCoITgLxWLhf+hVCqvWwkEy0ohl8uio72Iyy/biZ07t2P7ti0Y6O9FNpdBJpNGIZdDNpeFaRrI5bLQNR3rJQDCMEStVoftuKjXbFRrNdRqdUxOzeD4yBiOHjuO/fsPY640j2q1Bs/z10fFEMIHw11qnMMFYDPDjo10NwzDxip7IkEudpJ4XnCskM99uVyu/LvVShEiQso0ccklW3Hr3htx0zuuxZ49l+HSHdthmmasAonFnFPL63zRIlxjwbr5fqMRnPnZct+JPUnFtjYUi23Nz6PSBoBSIZRScBwXx0fG8OprB/DiS6/h2edexonRcQSBXNVGJiKgq6vTd9wm21Rke5ALcJ0IrlLshqGSvu9vOHJgha5529tVmqbp77jxmpsOHDz6xVqtfl5SRNc07L5sJ2695Ubcf+/duPqqy1Fsb1tt5o8LBs/zUCqV8eprB/CVr/0bnnv+ZYycGD8vohiGji1btoz6flCOpUcNwCyAUSIeYuZhpTAahuF0uVyu+L7vbzSSbESCAIDZ39+bs1Kp3xkdO/mrYRieVYrkcllctedyfOyjP4Y779iLrVsHlgTuUbP+OC953fiEm9M+NUUANeOd0PKaWr7RKkhO/96Zv1muvTe6rsa3gkDi2NAInnjyafzjP38VQ8MjcN2zh6T39HT5mUx2JAhkY8W8AmAawAiAIWYeBjDuOE5pfn6+FpMoIcjbQYpYlmVdf91VVxwbOv63s7OlPW9kW9z5zr34yY89irvfdRuy2UxTbTpNyzlt+J/5GZYMy/g1M5Ra3N7amMFbX5+m8y9R81qPhkFztjaXvT5mKKUwP7+Arz/+BP7+H76MV17Zh0DKlWwPDA72zzLTZBTKDpuZy0R0CsBxAMNKhcNK8aTn1crlct2OCZKoWG8H'
    $BlackBishop &= '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'
    $BlackBishop &= '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'
    $BlackBishop &= 'Gp586gf45reewonRkytKllQqJXVdQ7QHqllmLWy8llKqhocrIchmAWE2UiGWqliFQg7/8dd/AQ89+H4MDPRBX5J0LY7u5eZ4XRKW0hi1zUyGzGdWPqCWoF5qETQtoqQxl/MZHqjWy2/5nJe+Zxg6im0F3POeO3DXnbfi4z/9GP72776Iv/5vf7dsLt5YCVSIMlI2SRJJkUjF2qz158Vm5Ydju9PRAFiKYrENj334QWzbOghd0yIpsMKBZV431wxOTzrd+AxL/4/Tv9P6W5xb22/0nmkauPyyS/HhRz8AwzSWfRaKWbZIiFiCUJMkSzdTJRJkU+C1fQeOLNfh1WoNh48Moae788xplk+f0SNrlpWCYsbCQjXyOM3Nw/d9zMyWwMyYny+f96p8LpdFPp+Dpmno6e6EZaXQ2dmB9vY2pC1rSe3Dc8Err+5f0U3rup40jNRpBEGrcY6NVv88IchZPVKmAoIzBk21WseRI0O48523ND1LrWpMuVzBXKmEubkyjo+M4uix4zhxYhzDx0dRqVTh+wFcz4MKFVzXBQPwPP+8PUu6rsMwdBAR0pYFTdeiFEEpE93dndi6ZQCX7d6Jyy/bicHBfvR0d6K9vYhUylziGQOilfTXXj+4YupU3w98KWWTFFFWk6a7tzUWKyHIZsGlO7eriYkpf3ZufklZBCklDhw8Cs/zoesaqtU6Tp6axEsvv47X9x3E4SPDOHlyAqcmpuF5b16slpSySV7bdpZ8dvTY8SUkKBYL2L5tCwYH+3Dl5btx803XYc+Vu9HWVkAmk0alUsWxoZFlvVmapqG92IZGZP3iIiErZkhmpZQKwK6TEGQzIZNOS03Tl3X1vvb6QfzouZfw3POv4PtPP4t9+w/DcZxV1/p7MxGpcAuYn1/AK6/uxze++VRzveamG6/FXXfeisGBPpw4Mba8ESoEstm0qtaaJZzj/SAkiaDCkFXgs6oHMlGxNhM6uzv8kxNTZQBdp3+2b/8hfPLffwpzpXm83fIThGEIxwkxPj6B8fEJPP7N76CtrYC5FfazEJFKpVKyVncbhFOxBJEMRFuTo7D3RIJcSHz8Zx7LDB8fzR0+PGTtuXL3jWGori6XF/rrdTtz8tSkudxuPiJCb0+XzOdzEgAsK+XnC/myECQNTT9JQpRHRkb3HR8ZK1+2eycKhbzq7GqXAJDNpC1W6hSAXcvo5JiZndsQHex5PqanZ99IBgFEStd1nQDBYFMplfE8v2ClzG39W/suM3TdV8xbQYBdd3L1up1jZsgwxIkT49ZKk0h/f48s5PN+Z1f7bMowhyYmp18ggdmdO7bbnu9Vvv3tpy9679gFtbyuufoKfceObTcdPHT0Jtt23kFEt8/MzHUFgbSIyIwrQok3msVPK8O86JJkVgwopZRPBNXZ2eGnTNM3U2Y57pDy9PRMT73uXIFNDE3TsHXroB0veKpASnieLxYWKggCH0SRm4yI4smUBfPi8sC59A0RxbsT4Xd2ttuZTPqA5/nf3XPl7pfqtv30yPExe2ZmTqmlrubNS5AHP/DeLUNDJ26v1uo/PztXujYMwy7fD3Qk2DQQQsA0jXIumx3u6en8Wi6Xfdy2nQMHDx12w3BJYgi1KQjyq7/4CfHSK/u6HNf98OjoqY8vVCo3JqRI0LCDisXCZGdH+ze6utr/z/GTU/umpmZ8KaVs2kQXiChvCUHueOctQhN03+Gjw785O1u6RcrQTIZFguWI0t7edqqzo/0vM9nsP544caLk+670vECGIS5IyqE3vT7IQx98f/Ho0PFfGxo+8ZlSqXyFUqwlQyHBShxxHLdQrdbu0HX9hoGB/pEwxIJhaCQEUxCEy5Wqf/sS5IEH7tl24ODRz4yNnvwl1/MKSf8nOBcopfRqtbYjCPybe3u6x1lhnqGxEII4qj6s3iqSvGkEefjh+7e89tqBPztxYvwxpZSRdHuC8wEzw7bdLsd1bh0c7J93Xf+UrutCCMEAEIZhI+CZ33YEefih'
    $BlackBishop &= 'e3teeXX/X4yNnXyQOVGpEqwenufnPc/b09vbfTIIZFnTNEqlUkxEHARLai3y24Ig9957t/XKq/v+l4mJqZ8Nw0RyJFg7XNcrENFlbW35Yd8P7Licg4pJ0lojkS9qgnzokQfEyZMTPzE+PvH7nudbSdcmWEeSFAv5bJdhmMNhqCQA1jRNEZGKSRJe9ATp7mq/6uChY39Wq9X7ky5NsM42Cdm201so5G0pw9mGBNE0LYxJEr4ZNsm6EeSDD9yTGT4+9vtT07Pv3ejJ19bt4QsBTROrzuK+2RCGoSYE9bcX2076fuASUUhEga7roRBC+r6/7ob7uq1kz5XKd42fnHxYKZX05BtACEJbW5vUdc1Np9Nu2rLUzMycaRhabq40r0sZJg/pDTA/v9CTzWbvEkIsqCifsNQ0Tem6LnVdV42NXxeVBHnkx+4rvrbv0B8tLFSuSbpwhQcdpRDyBwb6FkwzNWEYZikMVdUPZNWyUgtWKj3fVizUdV3XpQz0MFSUPLVlVS0AaM/lcqfCMHQICInIF5oWCCGk53mNbCx80RAERLdPTU3/tpRhElt1+qMBkM1mZF9fbymfy0+5XjAfhkoqpUIiCgGEzOyHYeiGoaqk0+mZQiHvaZrIuK6XPM9lEASBns/nNGZMAgjiqsU+EQVKKRlLkXVRtdZMkL17b9Tn58t/ODc3f23Sdafpr7qGvr5eu1AoTIShKgdSBohC8kMAARH5ADsA2YiKZlbDUFWVUrPFYtucaRopz/MyiTQ502BPpcxcNpudllI6YPYZ8AD4hmF4QRCEsfp14QlyxRW7bj16dPg3giDIJV3XEKiEQiEvBwb6SpqmTwWBdOLOkgBCgD0icgHUAYoryaIEoBwfC74fzJmmeaqrs0NJKQu+7ydrSi3wPM9sby/WZCDnQRQgIoinafCYyfc8b12kyJoI8nMf/4j+8sv7fnKuVH6QmSkhBsGyUqq/v7daKOQnXDeYD0PV0ImD+HABsomwQIR5IswSYYaIpwDMADQHYB5AVSm1IEN1sr1YnMnls1bg+1kpwyQyAVGmlkzaMkHiFMABAI+IPIBdIYQvpZRhGMoLShDdMHLz5YXPVirVvs1OjHw+pzo7O6rd3V3TUoazvi/9eHdjGBPDa6hRsbSYA3gawCQRJgCeYsYMEc8AXGZGmYgqzGz7QTBHoPGu7o7ZTNoySYi05yX2SaiU1tPdWfH8oBqpq7ABOEKQqxT7LavsqybJmh5ysVi46ZVX912yWTsok0krTdP8/v5e1/OCEjPcet1dzC8FSDBLLHZebVGN4jmASwBKSqHCrGrMaBYXFYJ0QLMAFAAUZBhWqlV73jD08a7Ozm19vd2XTU7N9Pm+n3McV9+Ma0++71vVWr0rfkbtAIpEVGbmimEYNhH5a30uayLI2Pip+5VSm8L2ICJomgYhSHV0tEvDMGqWZdXCUNn1erN+ONBSRhnMPiJbw47tjDKAOWaejaVISSlVZkYNCG1m0Zj1YBiG0HVlEqkysygAogagFgSyJgNZBmG8s7OzR9PEFsdxeoIg6JubmzeZWQ/DEJuBMEEgoWmih5kKYRgWiFAERIEZGV3XLdM03Zba7m8tQT72sUeLjz/+xLVhqMTGI0OUKNowDLQXC1LTNBnI0O3sbPeVQs1xHB8gadvu6ek6ZXz4zOwTkU1ADZGqVGbmOSKaBVBiViWlVIVZ1aSUdhD4PqBJ27YVAKTTaaFp0C3LsHU95SrFNjPXiKgWSSKqu65XA1ASgoqGkSrs2LG9qGuiZ2p6NqNrWoahMpVKTbiuJwhv0Q6jtxiVSrWQzWZzAHJE1MaMHICcRlSxLEsPgkCEYShWS5JVE2T0xNgWXdNuXM+bNU1j2XreSvG6ZDEkAlJxURtBAkITKnYbyiCQyjQN1dfbrSzL8j3fd2s1206lUoqIlOYHshYnV4sqwUItR4zICIdL1FSpKsw8B6BMRCVmLjFzGaCKUmz7ft11HN/3/XDJltJarSaIIBzH'
    $BlackBishop &= '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'
    $BlackBishop &= 'PZIgJJi5MVjFm7Guskw/Ntpp2kaLf0kHswliU0qVjlXHxtFIRGgTkcvMkokUeO2Ff/R1uEmllJKaJiQz27Gffj5+nlZMABvgahyYZxNgc0SkxoysYm+QYmYZ77Br3JxaYWC3EuK8O7C1pFjcSarpVFaQHCe/jlQrJeMqa5IIklnKMAwVM0sppfR9XzGz8jxvOfvqzUazndhbI33fF5qmCdM0XcEsUum0ToDOgNB0XWchdE3ThJRS1zRNZ7BgFTZmbJ2IBZEmGtJjjc/5jey+1r/xuVlECbM5lmLQwRANG4MIplKciQxyFADKx8a5ANgF8zyYa0SwVaSdrIkkayWICsOw4ba1NU2rAJiNl6RsIqHHBKgRocKKa8xcU1A2EaRSwo/tDRnVw5MqSlxMiG2RN1Sb1jKrNX7bqmZFScmkCsOoNl9DAhAp5bquUoqUEEIBrqrXw3gGV8uR4UJtq2x6vaI6IQ4ACMf3RTwARexB0jlS6nXLssDMQjDr0DQoJYWmkdA0IeKZXazlWbf+bqW+XKoFQCgVCl0HlNIEWEVlGYgEkTJVCJ1IZGIHRCE+Msysx+pwBYRZhqqRgOs7vnQcR10wCeL7vgqCwDcM3SbiciSqySdCCcw6RVLCDhXXWKmaxmwrwFUEyRw2Zt64YCQrpaLZ/bSyButOkOU6LOJEHbXa4noHEUFFu3Cwgrp0Me4xVkvX5hajHWq1mojVYEFEjQXYVo+VyOU0CJE9w0Bf7+e9kjRhZiEEwExCYxamaYqoDjWLyMYKTSkpExEFOQIyHKlZkphtBlfAXGbybcBp0VLeYi/W4vqbMHO5nJXNZjJEouFmjL1XSgLkKqVsltJVSvm+5/m+UkoIoZhZxTPdkk69MEUjubUWuToX9/AGgFju/xeqaGeLDQIAMABhptNgIqGUEoZBInJGCFMIw9K1yAnBIB0gCGZfqbDGIrAdJ7CrVdsNQ+VfUILEJNELhYJp6LplCGGypjUMLRmGoe84ju97ngyklPFuL5xlgSzB5oU4y1gThqHrppnSMxnT1DShA7oOEJRSUgaB77oV33akr1TDW7pKqbe+LkchTCH0jGUJpevxTCRVve6pILjwtR4SbCjyCCISuq7rqZQhDCMlAEBKqRzHaexLP9tE/JYRZAlRzuZtSZBgvcmyggay5vFGb/KFJ+pSgreaLMl4S5AgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYIECRIkSJAgQYLl8P8DwioehtXOZ78AAAAASUVORK5CYII='
    Local $bString = Binary(_WinAPI_Base64Decode($BlackBishop))
    Return  $bString

EndFunc   ;==>_BlackBishop

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
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

Thanks alot UEZ, 

I was/am very confused by the term 'HBITMAP'

Let's say that :

$Bitmap = bitmap object

$hBitmap = handle to a bitmap object

$hHbitmap = ?? is this then a handle to a 'handle to a bitmap object'?

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

The import thing is to know what kind of bitmap you need -> GDI or GDI+.
 
GDI is used by gdi32.dll whereas GDI+ is used by gdiplus.dll. Both bitmaps are not compatible with each other. Thus, to work with the other format you have to convert it first.
 
E.g.:
 
_GDIPlus_BitmapCreateFromMemory ( $img ,true) generates a GDI bitmap because of the 2nd parameter. With this bitmap format you cannot work with GDI+.
 
The return value is always a handle of a bitmap object.
 
 
To differ GDI / GDI+ bitmaps I use
 
$hBitmap for GDI+
 
$hHBitmap for GDI
 
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

Finally i see light, 

tx alot for the explanation.

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
Sign in to follow this  
Followers 0