-
Posts
7,402 -
Joined
-
Last visited
-
Days Won
91
UEZ last won the day on September 16
UEZ had the most liked content!
About UEZ

- Birthday 12/03/2007
Profile Information
-
Member Title
Never say never
-
Location
Germany
-
Interests
Computer, watching movies, football (soccer), being lazy :-)
UEZ's Achievements
-
Searching specific content in Text file or AU3
UEZ replied to Nine's topic in AutoIt Example Scripts
Did you add _GDIPlus_Startup() ? -
KaFu reacted to a post in a topic: Toolbar Desktop v0.82 build 2025-09-09 beta
-
Thank you for your feedback, but this is not the same as the Quick Access feature in Windows 10. π
- 17 replies
-
wakillon reacted to a post in a topic: Toolbar Desktop v0.82 build 2025-09-09 beta
-
argumentum reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
Trong reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
I compiled the Zint DLLs again and integrated the PNG static lib. You should be able to save the image now as PNG.
-
KaFu reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
mutleey reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
UDF and DLL updated! See post#1. The DLLs are too big to post it here. You can find it on my 1Drv! Feel free to post examples here!
-
wakillon reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
KaFu reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
argumentum reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
mutleey reacted to a post in a topic: Zint UDF v0.60 build 2025-09-14 beta
-
I compiled Zint v2.15.09 source and it has 30 functions! ZBarcode_BarcodeName|0x0001CBA0 ZBarcode_Buffer|0x0001CC20 ZBarcode_Buffer_Vector|0x0001CC60 ZBarcode_Cap|0x0001CCA0 ZBarcode_Clear|0x0001D270 ZBarcode_Create|0x0001D390 ZBarcode_Default_Xdim|0x0001D3C0 ZBarcode_Delete|0x0001D5D0 ZBarcode_Dest_Len_ECI|0x0001D630 ZBarcode_Encode|0x0001D6D0 ZBarcode_Encode_File|0x0001D710 ZBarcode_Encode_File_and_Buffer|0x0001DB00 ZBarcode_Encode_File_and_Buffer_Vector|0x0001DB50 ZBarcode_Encode_File_and_Print|0x0001DBA0 ZBarcode_Encode_Segs|0x0001DBE0 ZBarcode_Encode_Segs_and_Buffer|0x0001E890 ZBarcode_Encode_Segs_and_Buffer_Vector|0x0001E8F0 ZBarcode_Encode_Segs_and_Print|0x0001E950 ZBarcode_Encode_and_Buffer|0x0001E990 ZBarcode_Encode_and_Buffer_Vector|0x0001EA10 ZBarcode_Encode_and_Print|0x0001EA90 ZBarcode_HaveGS1SyntaxEngine|0x0001EAF0 ZBarcode_NoPng|0x0001EB00 ZBarcode_Print|0x0001EB10 ZBarcode_Reset|0x0001EC30 ZBarcode_Scale_From_XdimDp|0x0001ECA0 ZBarcode_UTF8_To_ECI|0x0001EE80 ZBarcode_ValidID|0x0001EF40 ZBarcode_Version|0x0001EF80 ZBarcode_XdimDp_From_Scale|0x0001EF90 I will update the code in the next days. I compiled also a x64 Zint DLL but I don't know if it is working yet...
-
To use _WinAPI_BitmapDisplayTransparentInGUI() you must create a complete frame within the function. Example: ; https://www.autoitscript.com/forum/topic/213118-_circularprogress/ ;---------------------------------------------------------------------------------------- ; Title...........: _CircularProgress.au3 ; Description.....: Creates a customizable circular progress bar using GDI+ graphics. ; AutoIt Version..: 3.3.16.1 Author: ioa747 Script Version: 0.5 ; Note............: Testet in Win10 22H2 Date:08/09/2025 ; Based on post ..: https://www.autoitscript.com/forum/topic/213113-simple-circular-progressbar-with-smooth-edges-gradient-color/#findComment-1545755 ;---------------------------------------------------------------------------------------- #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WinAPISysWin.au3> #include <Constants.au3> #include <WindowsConstants.au3> #include <WinAPIConstants.au3> #include <Array.au3> _GDIPlus_Startup() Global $hGUI _Example() ; as demo _GDIPlus_Shutdown() Func _Example() $hGUI = GUICreate("RingProgressBar", 300, 300, -1, -1, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_TOPMOST)) GUISetState(@SW_SHOW) Local $aList[2000] Local $iCnt = UBound($aList) ConsoleWrite("$iCnt=" & $iCnt & @CRLF) Local $nProgress For $i = 1 To UBound($aList) $nProgress = Int($i / $iCnt * 100) ConsoleWrite($i & ") $nProgress=" & $nProgress & @CRLF) _CircularProgress($nProgress) Next Sleep(200) ; Give it some time to see the 100%. EndFunc ;==>_Example ; #FUNCTION# ==================================================================================================================== ; Name...........: _CircularProgress ; Description....: Creates a customizable circular progress bar using GDI+ graphics. ; Syntax.........: _CircularProgress($iPercent [, $iLeft = -1 [, $iTop = -1 [, $iSize = 300 [, $iThickness = 30 [, $TextCol = 0xFFFFFF [, $StartCol = 0xFF0000, $EndCol = 0xFFFF00]]]]]]) ; Parameters.....: $iPercent - The percentage complete for the progress bar (0 to 100). ; $iLeft - [optional] X-coordinate of the top-left corner. (Default is -1 for center) ; $iTop - [optional] Y-coordinate of the top-left corner. (Default is -1 for center) ; $iSize - [optional] width and height of the circular progress bar. (Default is 300) ; $iThickness - [optional] Thickness of the progress arc. (Default is 30) ; $TextCol - [optional] Color of the text within the progress bar. (Default is White) ; $StartCol - [optional] Start color of the progress arc gradient. (Default is Yellow) ; $EndCol - [optional] End color of the progress arc gradient. (Default is Red) ; Return values .: Success: create the progress bar GUI ; Author ........: ioa747 ; Modified ......: 08/09/2025 - v0.5 ; Remarks .......: Cleanup is handled automatically by passing an $iPercent > 100. ; Avoid using 0x050505 Color for $TextCol, $StartCol, or $EndCol, as it is used as a transparency color for the background. ; Related .......: _GDIPlus_Startup, _GDIPlus_GraphicsCreateFromHWND, etc. ; Link ..........: https://www.autoitscript.com/forum/topic/213113-simple-circular-progressbar-with-smooth-edges-gradient-color/#findComment-1545755 ; Example .......: _CircularProgress(50, -1, -1, 300, 20, 0x00FF00, 0xFF00FF, 0xFFFFFF) ; =============================================================================================================================== Func _CircularProgress($iPercent, $iSize = 300, $iThickness = 30, $TextCol = 0xFF404040, $StartCol = 0xFFFFFF00, $EndCol = 0xFFFF0000) Local $hBmp, $hBmpGraphics, $inSize, $iRadius, $iX, $iY $inSize = $iSize $iRadius = ($inSize - 4) / 2 $iX = $inSize / 2 $iY = $iX ; Create an off-screen bitmap for double-buffering $hBmp = _GDIPlus_BitmapCreateFromScan0($inSize, $inSize) $hBmpGraphics = _GDIPlus_ImageGetGraphicsContext($hBmp) _GDIPlus_GraphicsSetSmoothingMode($hBmpGraphics, 4) _GDIPlus_GraphicsSetTextRenderingHint($hBmpGraphics, 4) ; Draw progress arc as pie Local $angle = ($iPercent / 100) * 360 Local $hBrushProg = _GDIPlus_LineBrushCreate($iX - $iRadius, $iY, $iX + $iRadius, $iY, $EndCol, $StartCol, 1) Local $hPen = _GDIPlus_PenCreate2($hBrushProg, $iThickness) _GDIPlus_GraphicsDrawArc($hBmpGraphics, $iX - $iRadius + $iThickness / 2, $iY - $iRadius + $iThickness / 2, $iRadius * 2 - $iThickness, $iRadius * 2 - $iThickness, -90, $angle, $hPen) _GDIPlus_BrushDispose($hBrushProg) _GDIPlus_PenDispose($hPen) Local $hFontFamily = _GDIPlus_FontFamilyCreate("Times New Roman") Local $iFontSize = $iRadius * 0.3 Local $hFont = _GDIPlus_FontCreate($hFontFamily, $iFontSize, 1) Local $hFormat = _GDIPlus_StringFormatCreate() _GDIPlus_StringFormatSetAlign($hFormat, 2) _GDIPlus_StringFormatSetLineAlign($hFormat, 2) Local $hBrushText = _GDIPlus_BrushCreateSolid($TextCol) ; Draw percentage text Local $rect = _GDIPlus_RectFCreate(($inSize - ($iFontSize * 4)) / 2, ($inSize - ($iFontSize * 2)) / 2, $iFontSize * 4, $iFontSize * 2) _GDIPlus_GraphicsDrawStringEx($hBmpGraphics, $iPercent & "%", $hFont, $rect, $hFormat, $hBrushText) _GDIPlus_FontFamilyDispose($hFontFamily) _GDIPlus_FontDispose($hFont) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_BrushDispose($hBrushText) Local $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp) _WinAPI_BitmapDisplayTransparentInGUI($hHBmp, $hGUI) _GDIPlus_BitmapDispose($hBmp) _GDIPlus_GraphicsDispose($hBmpGraphics) EndFunc ;==>_CircularProgress Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $iFlags = $ULW_ALPHA, $bReleaseGDI = True, $tDest = Null, $iBGR = 0) If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0) Local $tDim = DllStructCreate($tagBITMAP) If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0) Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION) Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap) $tSize.X = $tDim.bmWidth $tSize.Y = $tDim.bmHeight $tBlend.Alpha = $iOpacity $tBlend.Format = 1 _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, $tDest, $tSize, $hMemDC, $tSource, $iBGR, $tBlend, $iFlags) _WinAPI_ReleaseDC(0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteDC($hMemDC) If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap) Return True EndFunc ;==>_WinAPI_BitmapDisplayTransparentInGUI If you have static variable, such as bitmap, brushes, etc., you can put out these parts off the _CircularProgress() function.
-
It looks ugly on my Notebook: You may use: Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $iFlags = $ULW_ALPHA, $bReleaseGDI = True, $tDest = Null, $iBGR = 0) If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0) Local $tDim = DllStructCreate($tagBITMAP) If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0) Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION) Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap) $tSize.X = $tDim.bmWidth $tSize.Y = $tDim.bmHeight $tBlend.Alpha = $iOpacity $tBlend.Format = 1 _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, $tDest, $tSize, $hMemDC, $tSource, $iBGR, $tBlend, $iFlags) _WinAPI_ReleaseDC(0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteDC($hMemDC) If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap) Return True EndFunc ;==>_WinAPI_BitmapDisplayTransparentInGUI to get a proper display. See for an example. _WinAPI_SetLayeredWindowAttributes() only makes is ugly!
-
UEZ reacted to a post in a topic: WinRT Object Libraries
-
UEZ reacted to a post in a topic: WinRT - WinUI3
-
Try this: ;Coded by UEZ build 2025-09-06 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <WinAPIConstants.au3> #include <WinAPISysWin.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172, $SC_DRAGMOVE = 0xF012 Global Const $iW = 300, $iH = $iW Global $hGUI = GUICreate("GDI+ Ring Progressbar", $iW, $iH, -1, -1, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED)) GUISetState() Global $aInterpolations[4][2] ;define the interpolated colors and positions $aInterpolations[0][0] = 3 $aInterpolations[1][0] = 0xFF800000 ;Red $aInterpolations[1][1] = 0 $aInterpolations[2][0] = 0xFFFF6700 ;Orange $aInterpolations[2][1] = 0.5 $aInterpolations[3][0] = 0xFFFFFF00 ;Yellow $aInterpolations[3][1] = 1.0 Global $fPerc = 0, $iSleep = 30 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) GUIRegisterMsg($WM_LBUTTONDOWN, "WM_LBUTTONDOWN") Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") GUIRegisterMsg($WM_LBUTTONDOWN, "") _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() _GDIPlus_RingProgressbar($fPerc, $iW) $fPerc += 0.33333 If $fPerc > 100 Then $fPerc = 0 EndFunc ;==>PlayAnim Func _GDIPlus_RingProgressbar($fPerc, $iSize = 300, $sText = "Please wait...") Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iSize, $iSize) Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetPixelOffsetMode($hCtxt, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) If $fPerc < 0 Then $fPerc = 0 If $fPerc > 100 Then $fPerc = 100 Local Const $hPath = _GDIPlus_PathCreate(), _ $fRadius = $iSize / 1.5, $iX = ($iSize - $fRadius) / 2, $iY = ($iSize - $fRadius) / 2, _ $fDX = $iSize / 10, $fAngel = $fPerc * 3.6, $fSize = $iSize / 15 Local Const $hBrush = _GDIPlus_LineBrushCreate($iX, $fDX + $iY, $fRadius, $fRadius, 0, 0, 1) Local Const $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixTranslate($hMatrix, $fRadius, $fRadius) _GDIPlus_MatrixRotate($hMatrix, -35, False) _GDIPlus_LineBrushMultiplyTransform($hBrush, $hMatrix, False) _GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations) _GDIPlus_MatrixDispose($hMatrix) Local Const $hPen = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_PathAddArc($hPath, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_PathReset($hPath) Local Const $hFamily = _GDIPlus_FontFamilyCreate("Verdana") Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $tLayout = _GDIPlus_RectFCreate(0, $iSize / 12, $iSize, 0) Local Const $tLayout2 = _GDIPlus_RectFCreate(0, ($iSize + $iSize / 18) / 2, $iSize, 0) _GDIPlus_StringFormatSetAlign($hFormat, 1) Local Const $hBrush2 = _GDIPlus_BrushCreateSolid(0xF0FFFFFF) _GDIPlus_PenSetColor($hPen, 0xF0404040) _GDIPlus_PenSetWidth($hPen, $iSize / 100) _GDIPlus_PenSetLineJoin($hPen, 2) _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iSize / 12, $hFormat) _GDIPlus_PathAddString($hPath, StringFormat("%02d%", $fPerc), $tLayout2, $hFamily, 0, $iSize / 9, $hFormat) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_GraphicsFillPath($hCtxt, $hPath, $hBrush2) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_PenDispose($hPen) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BrushDispose($hBrush2) _GDIPlus_PathDispose($hPath) Local $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _WinAPI_BitmapDisplayTransparentInGUI($hHBmp, $hGUI) _GDIPlus_BitmapDispose($hBitmap) _WinAPI_DeleteObject($hHBmp) EndFunc ;==>_GDIPlus_RingProgressbar Func _WinAPI_BitmapDisplayTransparentInGUI(ByRef $hHBitmap, ByRef $hGUI, $iOpacity = 0xFF, $iFlags = $ULW_ALPHA, $bReleaseGDI = True, $tDest = Null, $iBGR = 0) If Not BitAND(GUIGetStyle($hGUI)[1], $WS_EX_LAYERED) = $WS_EX_LAYERED Then Return SetError(1, 0, 0) Local $tDim = DllStructCreate($tagBITMAP) If Not _WinAPI_GetObject($hHBitmap, DllStructGetSize($tDim), DllStructGetPtr($tDim)) Then Return SetError(2, 0, 0) Local $tSize = DllStructCreate($tagSIZE), $tSource = DllStructCreate($tagPOINT), $tBlend = DllStructCreate($tagBLENDFUNCTION) Local Const $hScrDC = _WinAPI_GetDC(0), $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC), $hOld = _WinAPI_SelectObject($hMemDC, $hHBitmap) $tSize.X = $tDim.bmWidth $tSize.Y = $tDim.bmHeight $tBlend.Alpha = $iOpacity $tBlend.Format = 1 _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, $tDest, $tSize, $hMemDC, $tSource, $iBGR, $tBlend, $iFlags) _WinAPI_ReleaseDC(0, $hScrDC) _WinAPI_SelectObject($hMemDC, $hOld) _WinAPI_DeleteDC($hMemDC) If $bReleaseGDI Then _WinAPI_DeleteObject($hHBitmap) Return True EndFunc ;==>_WinAPI_BitmapDisplayTransparentInGUI Func WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam) _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndFunc ;==>WM_LBUTTONDOWN
-
The animation examples are not optimized for speed rather proof-of-concept versions. To speed up you can do some optimization, e.g. what you wrote or not to create the texture every time as it is static or calling GDI+ functions directly or ... There are also plenty of examples how to show the progress in a transparent GUI.
-
Play with the colors, angle and translations: ;AutoIt v3.3.9.21 or higher needed! ;coded by UEZ build 2013-10-13 #include <GDIPlus.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $STM_SETIMAGE = 0x0172 Global Const $iW = 300, $iH = 300 Global Const $hGUI = GUICreate("GDI+ Ring Progressbar", $iW, $iH, -1, -1, $WS_POPUPWINDOW, $WS_EX_TOPMOST) GUISetBkColor(0) Global Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH) ;~ GUICtrlSetState(-1, $GUI_DISABLE) GUISetState() Global $hHBmp_BG, $hB, $fPerc, $iSleep = 60 GUIRegisterMsg($WM_TIMER, "PlayAnim") DllCall("user32.dll", "int", "SetTimer", "hwnd", $hGUI, "int", 0, "int", $iSleep, "int", 0) Do Switch GUIGetMsg() Case $GUI_EVENT_CLOSE GUIRegisterMsg($WM_TIMER, "") _WinAPI_DeleteObject($hHBmp_BG) _GDIPlus_Shutdown() GUIDelete() Exit EndSwitch Until False Func PlayAnim() $hHBmp_BG = _GDIPlus_RingProgressbar($fPerc) $hB = GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBmp_BG) If $hB Then _WinAPI_DeleteObject($hB) _WinAPI_DeleteObject($hHBmp_BG) $fPerc += 0.33333 If $fPerc > 100 Then $fPerc = 0 EndFunc ;==>PlayAnim Func _GDIPlus_RingProgressbar($fPerc, $iSize = 300, $sText = "Please wait...") Local Const $hBmp = _GDIPlus_BitmapCreateFromMemory(_Background_Texture()) Local Const $hTexture = _GDIPlus_TextureCreate($hBmp) _GDIPlus_BitmapDispose($hBmp) Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iSize, $iSize) Local Const $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap) _GDIPlus_GraphicsSetPixelOffsetMode($hCtxt, $GDIP_PIXELOFFSETMODE_HIGHQUALITY) _GDIPlus_GraphicsSetSmoothingMode($hCtxt, 2) _GDIPlus_GraphicsFillRect($hCtxt, 0, 0, $iSize, $iSize, $hTexture) If $fPerc < 0 Then $fPerc = 0 If $fPerc > 100 Then $fPerc = 100 Local Const $hPath = _GDIPlus_PathCreate(), $hPath2 = _GDIPlus_PathCreate(), _ $fRadius = $iSize / 1.5, $iX = ($iSize - $fRadius) / 2, $iY = ($iSize - $fRadius) / 2, _ $fDX = $iSize / 10, $fAngel = $fPerc * 360 / 100, $fSize = $iSize / 15 _GDIPlus_PathAddEllipse($hPath, $iX, $fDX + $iY, $fRadius, $fRadius) Local $hBrush = _GDIPlus_LineBrushCreate($iX, $fDX + $iY, $fRadius, $fRadius, 0, 0, 1) Local $aInterpolations[4][2] ;define the interpolated colors and positions $aInterpolations[0][0] = 3 $aInterpolations[1][0] = 0xFF800000 ;Red $aInterpolations[1][1] = 0 $aInterpolations[2][0] = 0xFFFF6700 ;Orange $aInterpolations[2][1] = 0.5 $aInterpolations[3][0] = 0xFFFFFF00 ;Yellow $aInterpolations[3][1] = 1.0 $hMatrix = _GDIPlus_MatrixCreate() _GDIPlus_MatrixTranslate($hMatrix, $fRadius, $fRadius) _GDIPlus_MatrixRotate($hMatrix, -35, False) _GDIPlus_LineBrushMultiplyTransform($hBrush, $hMatrix, False) _GDIPlus_LineBrushSetPresetBlend($hBrush, $aInterpolations) _GDIPlus_MatrixDispose($hMatrix) Local Const $hPen = _GDIPlus_PenCreate2($hBrush, $fSize) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_PathReset($hPath) Local Const $hPen2 = _GDIPlus_PenCreate2($hTexture, $fSize + 4) _GDIPlus_PathAddArc($hPath, $iX, $fDX + $iY, $fRadius, $fRadius, -90, $fAngel) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen2) _GDIPlus_PathReset($hPath) Local Const $hFamily = _GDIPlus_FontFamilyCreate("Verdana") Local Const $hFormat = _GDIPlus_StringFormatCreate() Local Const $tLayout = _GDIPlus_RectFCreate(0, $iSize / 12, $iSize, 0) Local Const $tLayout2 = _GDIPlus_RectFCreate(0, ($iSize + $iSize / 18) / 2, $iSize, 0) _GDIPlus_StringFormatSetAlign($hFormat, 1) Local Const $hBrush2 = _GDIPlus_BrushCreateSolid(0xE0FFFFFF) _GDIPlus_PenSetColor($hPen, 0x80000000) _GDIPlus_PenSetWidth($hPen, 4) _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iSize / 12, $hFormat) _GDIPlus_PathAddString($hPath, StringFormat("%02d%", $fPerc), $tLayout2, $hFamily, 0, $iSize / 9, $hFormat) _GDIPlus_GraphicsDrawPath($hCtxt, $hPath, $hPen) _GDIPlus_GraphicsFillPath($hCtxt, $hPath, $hBrush2) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_PenDispose($hPen) _GDIPlus_PenDispose($hPen2) _GDIPlus_BrushDispose($hBrush) _GDIPlus_BrushDispose($hBrush2) _GDIPlus_BrushDispose($hTexture) _GDIPlus_PathDispose($hPath) _GDIPlus_PathDispose($hPath2) _GDIPlus_GraphicsDispose($hCtxt) Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndFunc ;Code below was generated by: 'File to Base64 String' Code Generator v1.12 Build 2013-05-17 Func _Background_Texture($bSaveBinary = False, $sSavePath = @ScriptDir) Local $Background_Texture $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= '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' $Background_Texture &= 'LDtyT0/mXl/5NOLjdHdfuZrUd46l0feIgZuiLJ89Qb51eMRqmGGruU5O9yhvUKrEpXe63MNc5bmK037iLdxC+dvMA8yir0Mo4v7l2l8icq5RyzfLAUVy7lXdNoHR3FLbHcTJj8xC+YOdfn+pyYf98QbtraVYVydwr52wOzANnUwsKh48QC8GMo9H+4lHwf7iDN8DnxKVMZEt2lr0/UpvT9SsUvXEprN66lZcOonQ/UD1x15mJ95ue7fUVW3wTTznxMlls49wnfjNTFb4Sr3Xcep2fuBaBecTqu5tQcssFX+Iq+94lafklLtV9TkZs8QqlXvVQz23yQPJMwdYuIplY3yd6iW4WJStWZay1+pVZvHqBhWMv6iZ5q4VWenmNGm/XqGRd7ceIE4zviU8moJZX8zbnT+CYsPGczQwUYOeY88/5l1M3p0Rb1cMmBgdGY7b3UwMXPC4c7C55t2cSlv4JR33EKp317hYr0lH3EtyOWX4/ECnszBo14l28My8Smhy5mHkSoZCu5Xl+5k/NxS/LzGqMc4zMXj+YUtMRWLvUKcL28+o4ZvcWM6Gs/1FpSOtXCrOxz49Rl86efEoOmqggmHB3/U326P4g0FLqGWFH3FbL9y17ddxRmrw/cFQoXG43bDqLjNxY1TK9j5hjRhqGuZisjv/ALCYdiCVqa9hMmWy9TutIgpd76lUeXUT/wAJWhXMq+W5w9yt+WDBfc05d9R8lmm37mO37Rd5+43q/wAoIwCy1c7OGJ/Z/UHHJl59RVHZf+4izjrrx7l5d64g5tvA/wAQBvo/xFLv/FQwLG5i5qkBT0/uD1f3LKVeu5Yu2eV1j7i8zrqXlWj/AHMXG31F5/z5gY3ALq9zJ/qXvn6m/O4yfZxBJnGepSHflU5bc8RmR4fzB15eJeOHLHGj8zw6/wCoa18TxO+GXejbuWdjuDODuZGn7hnEdkSuJ6PuJdY2gJz9oBeb3AvNwCu67Qe7s4iCn0HxEA3eq3AbZ2/iFLldPEo96/UA7Sl4vSyUo3qUfzzBvlqXfx/U87/zB2Hj9xyi3USjbU9n3AKq31Ck53APqUOrgC5xBh7JgHGY/wApW3u3mVxdOZi7HMHJvD3FuFH+HMESWYOe/wCpZVN/cWsJndx6wtvcMtO5Yc8p+5zpmlKe5R4m3Nza7gAvvqL4XFfPD3BTd1uNlpOINbO1fUHZyNTXMEDcbbYT9QKKvLDGVTs4RrK8VjPiDhF8xcNhSOWXjdRpNygV0g0Z/ma7tcGOVr3CpeZQS7+5QrvD3HDl+Zk/3L3FucZhYN4e41eTJDLbvuFptw6l5ydxO0queeo5b/MKrKuYYCunME3lwwwxbX/uYtOx8TTC8xsjgthZkv3FLhYg0orS4zLTpKDamY/5cDPGnnxAyImu4jWq13GxqjHZF4X8iYC3Tsl7y2rp17lqeDw8xxb/AAQMmtdyimVn45nHe4FM+eZWC7jk4lW8biYXUSuNX3ALo3/uZRS0XFTYNwSs1cE8b3UsMK3EGzwxLyrW9RYbrcd8bi5++ai8PqZPzLVmoiEK3Loa5HHuDbZ9RtM1vqO8Vm4tjJuO8xhxx8kqgXHm/Crn/9k=' Local $bString = Binary(_Base64Decode($Background_Texture)) If $bSaveBinary Then Local $hFile = FileOpen($sSavePath & "\Dark Texture 300x300.jpg", 18) FileWrite($hFile, $bString) FileClose($hFile) EndIf Return $bString EndFunc ;==>_Background_Texture Func _Base64Decode($sB64String) Local $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "ptr", 0, "dword*", 0, "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & $a_Call[5] & "]") $a_Call = DllCall("Crypt32.dll", "bool", "CryptStringToBinaryA", "str", $sB64String, "dword", 0, "dword", 1, "struct*", $a, "dword*", $a_Call[5], "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode
-
This depends on the encoding setting. Even if it is lossy it can be larger then lossless. Lossy was at max. quality and lossless is at best compression. Probably image quality is the same...
-
UEZ reacted to a post in a topic: WebP v0.5.0 build 2025-08-23 beta
-
@pixelsearch Should be fixed now. Btw, can you please check if new version 0.5.1 is working for you? I added the GraphicsCaptureWrapper.dll as dynamic DLL loader at runtime. Thank you for all your efforts and test! π
-
UEZ reacted to a post in a topic: WebP v0.5.0 build 2025-08-23 beta
-
Never say never π It was too late and I forgot to set the correct stride value for 24bit capturing. I uploaded the x86 version which should work now. Weβll figure it out if itβs still not working.
-
Sorry, I was not drunken but I was in a different function - doh. Yes, WebP_CreateWebPCreateAnimFromScreenCapture was heavily modified to get more speed. It is a good question, what causes the issues now. I added a new parameter "$bXPMode" to Web.au3: Func WebP_CreateWebPCreateAnimFromScreenCapture($x, $y, $w, $h, $sec, $sOutfile, $fps = 30, $CapCursor = 1, $quality = 75.0, $lossless = 0, $method = 0, $filter_strength = 60, $sns_strength = 50, _ $pass = 1, $filter_sharpness = 0, $near_lossless = 100, $alpha_compression = 0, $alpha_filtering = 0, $alpha_quality = 100, $target_size = 0, $loop_count = 0, _ $WebPImageHint = $WEBP_HINT_DEFAULT, $pCallback = 0, $bXPMode = False, $sPath2DLL = "") Please set it to true and try again. Btw, WebP officially only supports Vista+ operating systems! You are lucky that it works with WinXP.