buymeapc Posted April 8, 2019 Share Posted April 8, 2019 (edited) Hey all, Thanks to the forums, I've managed to create a Base64 image that I can use as a partial background for my GUI. However, the issue I'm having is that when the image is created, you can see a faint border around where the image is created. Is there any way to create the image without having this border created, so it can blend in? Here's a small reproducer. Thanks for the help! expandcollapse popup#include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <GDIPlus.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172 Global Const $hGUI = GUICreate("Blending a pic in with the BG", 450, 144) GUISetBkColor(0xFFFFFF, $hGUI) GUISetState() $idPic2 = GUICtrlCreatePic("", 150, 0, 300, 144) ; resized picture $hBitmap2 = _GDIPlus_BitmapCreateFromMemory(_OptumFade()) $hBitmap_resized = _GDIPlus_ImageResize($hBitmap2, 300, 144) ;GDI+ bitmap $hHBitmap2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap_resized) ;GDI bitmap _WinAPI_DeleteObject(GUICtrlSendMsg($idPic2, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap2)) While True Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd ;Code below was generated by: 'File to Base64 String' Code Generator v1.20 Build 2015-01-20 Func _OptumFade($bSaveBinary = False, $sSavePath = @ScriptDir) Local $OptumFade $OptumFade &= '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' $OptumFade &= '027GGLOHl8WoxMe/mhlj3slmMfLdkDHmnWx6zagVJH7LozHG7GWTGN39iuZf14wxO9kkRsUsSv6VzRizk01i1P6fNL27Bi3yvZExZg+b74x4R0QhYoBhumDz300zxmxnsxjxrkj/SRab7oz8q5oxZge7xKi4dL3FyBizi81iROoFbMqQpcgYs4fNYiQRwt1Qe4dkjDFb2SVG3Iwx5h285dc0C5MxZi+bxYjvpPG/gtRnjvTOmjHGbGSXgtRrRn7dyBizF9/OGGMOgcXIGHMIhvmFZ+79GrQx5pcYpmnsuI36OllsXW3xmPLBstXKGPNTDBMEiP/hlftFiCxGxpg/y3A+/dOdTufujG0YTt3Q1RaPUz5Y9ktMxpifYrh+e77dAvToYYwxP4lvdYwxh8BiZIw5BBYjY8whsBgZYw6BxcgYcwgsRsaYQ2AxMsYcAouRMeYQWIyMMYfAYmSMOQQWI2PMIbAYGWMOgcXIGHMILEbGmEPwV4lRfAHc83xnf/s34eZy1h/BXtlW/PL7htkePGPfmD/NM2GN+Q0sRl9Q4lPCMJez/gj2yrbil983zPbgGfvG/GmeCWvMb/DrYsS1UVsR9aVFCyhX0SwIK/SXPvtn87le4cqfbbJXFx/qjVo6xJfOwS6/W66+hO7CBtpUrPSpredGW8RPx/BrbDQWd0Sh6LfY0F5dtG3saq9ihlel+kjVq62pZ9i/n+aYvb2wfcUj+3Z/20fW+ousa86P09h2/Qj9ygjVpMWmFYJk1NB1k9onfg1l5KontvbdFJVYrCwmjDNNaOBguahpwu/2Zl2xWdcfHqAj/VHOsaM+ZpxJ8WmmP1KgWCkUGIPfCK5hWM8kODZtCfuYJ/17yT189T3jcpKf2suOvojKLBUHD6WleuRCaKc0aZMndWDsKCqufPlIHyZzfYkZA33ZzerfAA+pzkOQ19x8y3LaotSey7nMk6m26/OqeZj98w/fpOboWj/nabSFzdSNXf/x+ZEeP0fl1FJNQ2WKvZYyqqpRUHoue9hg4U48ECzMWsUlKiVKWogoD3KOvsuEisz5JwXkhtghKjx8FNgFBtToE3F6LuDoVlmxaCgDmDMVhmM/SyPzg83AToCmaRw7Dk+jnjkzX9XZRGGiIf8yi4LwnzqVM/eZD/OdeAJTpBibcXAUygGnCOmjAf2KRU4UI+zZF14zPe3YIgPQdv6HmReNThrnDuYCr735Fk3tKGmtzucSzOV5ulyfV/2AZB0xbuX/euahX4szuOAHJOfxkGum77ru/yXLKH+v3ak0AAAAAElFTkSuQmCC' Local Const $bString = Binary(_WinAPI_Base64Decode($OptumFade)) If $bSaveBinary Then Local Const $hFile = FileOpen($sSavePath & "\Optum_Fade_291x70.png", 18) If @error Then Return SetError(1, 0, 0) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_OptumFade 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 Edited April 8, 2019 by buymeapc Link to comment Share on other sites More sharing options...
UEZ Posted April 8, 2019 Share Posted April 8, 2019 Try $hBitmap_resized = _GDIPlus_ImageResize($hBitmap2, 300, 144, $GDIP_INTERPOLATIONMODE_NEARESTNEIGHBOR) ;GDI+ bitmap and it should work as expected. The reason the is interpolation on resize function. Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
buymeapc Posted April 8, 2019 Author Share Posted April 8, 2019 @UEZ That was indeed all it needed. Thank you so much for your help!! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now