buymeapc Posted April 8, 2019 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
UEZ Posted April 8, 2019 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!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ
buymeapc Posted April 8, 2019 Author Posted April 8, 2019 @UEZ That was indeed all it needed. Thank you so much for your help!!
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