Nine Posted December 6, 2022 Author Posted December 6, 2022 New version available. argumentum and pixelsearch 2 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
ling3882688 Posted December 7, 2022 Posted December 7, 2022 (edited) How to restart the Gif from the first frame without recreating the control?I tried the old UDF _guictrlsetgif,but it caused flickering. Is there an idea to restart the gif from any frame we want?In some special cases,I need to restart the gif before the end of the gif ,such as countdown number. In some other cases,for example,the countdown number is from 15 to 0,What I need is from 10 to 0.So I can start the gif from the sixth frame. Edited December 7, 2022 by ling3882688
Nine Posted December 7, 2022 Author Posted December 7, 2022 @ling3882688 Add this function to your own script, see how it goes... Func _GUICtrlSetAnimGIF($idPic, $iFrame) For $iIdx = 0 To UBound($aGIF_Animation) - 1 If $aGIF_Animation[$iIdx][0] = $idPic Then If $iFrame > $aGIF_Animation[$iIdx][2] Then Return SetError(2, 0, 0) $aGIF_Animation[$iIdx][4] = $iFrame Return 1 EndIf Next Return SetError(1, 0, 0) EndFunc ;==>_GUICtrlSetAnimGIF “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
ling3882688 Posted December 7, 2022 Posted December 7, 2022 @Nine Excellent! Thank you ! Appreciate !
ling3882688 Posted December 7, 2022 Posted December 7, 2022 (edited) Is there a Resize parameter?Resize the image(gif/png/jpg/bmp) based on the controlid's dimensions. I am trying to replace all the other UDFs using your UDF to creat controls of my GUI. And could you please help to add a function like _GUICtrlSetGIF() in order to change the gif file of a control? If possible support image file path or $hImage. Thank you so much. Edited December 7, 2022 by ling3882688
Nine Posted December 7, 2022 Author Posted December 7, 2022 Resize (crop) has been discussed previously (see page #2). GDI+ can resize or clone area most of the images (not going be part of this UDF). To change gif file, just delete and create a new control. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
pixelsearch Posted December 8, 2022 Posted December 8, 2022 @Nine great job ! For the record, the site you indicated on page 2 (ezgif.com) allow to upload images and they create a reworked animated gif that we can download. Yesterday I tried it and uploaded there : * bg.png (the background pic 1st, as indicated in their advices) * counter.gif (the transparent animated gif) Then they quicky split the animated gif and present you all frames (thumbnails) in case you want to alter the delay of a frame, remove a frame etc... the 1st frame being the background pic whose delay needs to be set to 0 or 1 in the present case iirc) There were several parameters to indicate before the rework starts, one of them being : You probably knew all that, though it could be interesting for a user who'd like to add a background to his animated transparent gif, then download it for his personal use. Here is the final result after downloading the reworked pic (though I did all this much too quickly and didn't read all their advices)
Nine Posted December 8, 2022 Author Posted December 8, 2022 @pixelsearch The problem in your example is that the whole background is copied to the GIF, while user only want the part of the background where the GIF is located. This is why I used _GDIPlus_GraphicsDrawImageRectRect to copy only the part of the background that correspond to the occupied space of the GIF. Hope that makes sense. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
pixelsearch Posted December 8, 2022 Posted December 8, 2022 21 minutes ago, Nine said: Hope that makes sense. It sure does. I never thought their way of doing it would suit OP's need as they resize the background so all frames get the same size, but it's interesting to share their MO with users reading this thread
Nine Posted August 15, 2023 Author Posted August 15, 2023 (edited) After reviewing different options about an issue with OnEvent GUI, I went with a deletion mark. I also included a few code optimizations and resolve a possible issue with a stack overflow. New version available. Edited August 17, 2023 by Nine pixelsearch and argumentum 1 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
Parsix Posted February 5 Posted February 5 please add Support of Binary as $vSource in _GUICtrlCreateAnimGIF
Nine Posted February 6 Author Posted February 6 3 hours ago, Parsix said: please add Support of Binary as $vSource in _GUICtrlCreateAnimGIF Why can't you convert your binary to handle ? I do not see the need for it unless you provide good explanation. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
Parsix Posted February 6 Posted February 6 (edited) expandcollapse popup#include <GUIConstants.au3> #include <GDIPlus.au3> #include "Cached GIF Animation.au3" OnAutoItExitRegister(_GIF_Animation_Quit) Local $hGUI = GUICreate("GIF Animation", 800, 600, -1, -1, $WS_POPUP, $WS_EX_CONTROLPARENT) GUISetState() _GUICtrlCreateAnimGIF(_BinaryDB(), 100, 100, 100, 100) Do Until GUIGetMsg() = $GUI_EVENT_CLOSE Func _BinaryDB() Local $BIN $BIN &= 'R0lGODlhQABAANUAAAQCBISChMTCxERCROzq7GRmZLSytCQmJNTS1JSSlPT29Hx+fFxeXGxubAwODIyOjMzKzExKTLy+vDw+PNza3Pz+/AQGBISGhERGRPTy9GxqbLS2tCwqLJyenPz6/HRydMzOzNze3P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCQAiACwAAAAAQABAAAAG/kCRcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW673/C4fE6v2+/wDAUiEEAoGXYVFBKFhoUUHnMVIIeOEiAVcoQSApWXlpYUcRmPnhKBbwiWn4ebbxCljhBwl4aksIUCcKSHsYe0tbWvlbNvlLyZBqSnbp23w66gccCyugbFbx6NypXDCIpyHsACyQLYdnp9fYB45l0IDRwODhwNCFwEGwkXAQkbBFIeBQD9/v0FslnxYGCBwYMGDQhkomDAv4cAJiyUoqCDwQALMGpc0GFiEg0QIWqwsiEjwpMBDDRBEDIkvCkETso8mG8Jv5YPC1ApaHLm80GVSw7gfHjASIgEDCJEYJAghJEEMzH2XJCAiYWh/ywQ8fBgwASvYAc8WHgRodSDGq1i9adViIIPX+N6jftBwZCzKKcGYCJ0LYCiQrrKHez1wRCoZ/GWrWrTLwCdIiiAJSx3gFMRPM1m/HAWqBKWfl8Knkw6rmERMdGqDsB5Qc3GWCGLYEC59AAGQzJfbG3S85IME4ZOCCVigG3KGIZ4sNhTKuuOTxTchFjA7hAMtQknV56ZtVSFUtIdYHfgnREGx0vjLkLAQIIA9gy8/jI6e2E4ku1/tRzngf4Jp8GhQAPpTVDXHFwdN5YdFCCFwVIJRINFEAAh+QQJCQAi' $BIN &= 'ACwAAAAAQABAAAAG/kCRcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdsvter/gsHhMLpvP6LR6zW673/C4fE6v2++IBsfh4DQQdh4FAISFhAUecwoDho0AE4lxGo6OGnEIlJSAb4OZjQVwB56NB3AWo4YWpqiFqm+irAClnLEAoG+YsZu0qLdwGROjExmKnY4FCnZ5B3wHf3fQ0VYhCQwREQwJIVwZFBACAhAUxFEeDwMT6OoDD5FWHhQS8vPyFO5MCh/p++j7H8lVKoCgR1ACiApOzvFbiO6BlXgSBEScKFEihSYh1DHkN2DblAzyJBakR06JQo0o9zmcAnEkwYtLGKScOYGBEQIbElwIkGAD8AEjFV3Sg8CE5kwMRDwYWMC0KVMD90TSE0k1IhMMRhciFeKhA9MAC8CKXdDBXUiCVUMyYbBxpk0hS8E6dRrAwBAIaAtKJLrkZFuVQgjMHdz0pwgEE+cJMACOcT0mFLKu8xiX8Fy7IkAqPptYQkmTkiesFJGAsFy5CxIMaRnR8WKLThQ0yPpvCOqvuOkO8YB481kI95aYo9mOyO3bYZMHSAqRKmMEwZtQqBYBQzaPRErPHetUdZFu4CSI++xlaW66H8BidiO4qdj0yhcYfmPefVj4C9a/6ZrcftgE0bWh1Ff41RXgGwQYkEAAPBmAXRZBAAAh+QQJCQAiACwAAAAAQABAAAAG/kCRcEgsGo/IpHLJbDqf0Kh0Sq1ar9isdgtFNDgOB6eB4Go9BYB6rS54zFbFgE0HTN7wqaZe1+SlCHx8ZX9PaYJ0BYVPB4h0B4tOFo5sFpFNk5RqlpdLjZoAkJ1Kh5qKo0mBoISoSKWIp61IGROOExmySgqvbAUKuUxeB2EHZMDHyMkhCQwREQwJIclIHg8DE9fZAw9400IKH9ji1+Ifv94i1uPr1w/oIdns4wPS0+rx+OLu0wz5/hMMvP3zh8EbhoHrCvKT5y+gPYTx9iWjABEbPXT3GE6QOE1BA4Tm' $BIN &= '0Amp9o+bSCIUmEXAAK3eyZcw/xDYkOBCgAQbCMT0YGCB8M+fPg108+ahg88AC5AqXdBhaLINQKMeNYCOwFGpUXVO64lVKtVpCZJGRSrWZwIjGShAECAAAgVchcj+JCv3KBEPFCTo3auXgtMtS7EuDTDEAwi+iCWAqJAnLNDAQM8KyStAQuXLli2z4tKz7tUAH5B+zZC4tAS4XKzOLRuarNa8pvkK2LyF6+OyAb6KqBybL4Q8Ra8uCJ30Q9MhvPXyXr5XwB+ec+UKJZI8eWbllhcRMJAgwE0DWqkjtp789zTY1S0bSE7BW4b0EtYzRz1R9nX17dF5gJB5vfL1EPyFTAXoqccWAgJOkxZbErhFHxZBAAAh+QQJCQAiACwAAAAAQABAAAAG/kCRcEgsGo+IBsfh4DQQx6h0SpV6CoCsNlvwVL/gqmKwLQMm3rB6LdKYzRq2vIp4v6HzvBFrLxf0VSEJDBERDAkhRgd9ZQeAVg8DE5KUAw9pQhaMWxaPRwofk6KSoh8KQ5qbWZ2eRZGjsJIPQ4uqAI6tQyGUsaMDiSJ8qn+5Qq+8yKKzInW2eMUMydITDEPCfcTFItPSGEMZE4wTGdpCGNyw3kNXdgWn5SIMvdLVRUkHTAdP8EPH88r81FBAVwlYQDD+pi07CEZBA3SmGKrxkFAZJolhKAyKgOGQQYwgQ4rMQ2BDggsBEmwgMPKLBwMLYsqMaeBiyyIeOsQMsICn888FHWzeFLJhptGdBoYWIbDzqFGWSoXAdHo0aVQRCXoa5ak1ZoKrIrjK5Cp2J9ifTn8GAJt1JtqZX6/CLNs0wAeeVqMyHdv1Lleoco+iDZD3as6mC+72/BAU7LqpPcXWdLzUQIIAKQ0Apsy588EMFCAIEACBAjnPFShIWM16NQWhSiuAaE1bAogKlFVLELC7N2/eFBxnqE1cwumoCHgXbx38KoTltCGA7c1aufXVAsAqb329uvbt26uvln5Vt/jfBpQ3jzq8e3rq' $BIN &= 'xh2bxw5ewnrDs+HvTg8B9lAP5gnwngAI+MceBaONZppnDDbo4IMQRghSEAAh+QQJCQAiACwAAAAAQABAAAAG/kCRcEgsGo+hBCMSYSRCx6h0SpV6HoNJdjt4eKrgcFXx0Zqz5o9CzG4Lsed49uGuV0Nb+XkAtfuNcHmCZnR/VAQbCRcBCRsERgx6gwMMRggNHA4OHA0Ibh4GC6KjogZfQwOTehhEHgUAsLGwBadgHh2iAQu6vAsdtaqTrEIKA7LHABO1VBukzrkGQwzBcZVCGsjIGmAEuc/OjyIPknKFCNnZnlSh38/RIhTUXBRCr+jHBVUJu866/KIJhgQiV0jEgXvHDlTxN8ofw1xDFDSgpmaIBYSyLCz896xXgFYD83ghgjGjvn4cRwUsQkEJhiYJ6BU5WBKAwnUpvQX4oOud/Bt7JfMdItVrAU9/4dycq6kOJ0qHPusAvSe0yi1vRnl9+PUnwwSEEzKIAdWQoSlDIlyhK7CmDQEDCQIwMpAUrQgEGg5oOtDJrt+/gAMfyUABggABECiIFWyoAgUJkCNDprCMMZsKICRrlgCigmU3jyUIEE169GiZn8Nk2MxawuLUVRCMbi0ZNewpEGhrhnC7CunIs4NDFtCbymzJwoEXn3IY+ObZvJdHCe3ctIHZtqUTWZ38+m/X2qdrbj5cQvbwQzxk/i76OoTK6NNTF+BdAAL48bdTOHxYcf7/AAYo4IAEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGP4RBAAh+QQJCQAiACwAAAAAQABAAAAG/kCRcEgsGo+ETeISSGwIx6h0SpV6DIusNmvwVL/gqqeTDSzM6EXHG267RZutvGx426uE8lwOvfuNWHtzdX9UGRQQAgIQFBlGCWdyZpFZCUYUCQwREQwJIW8VFBKjpKMUbEKTWpOqZUQeDwMTsrQDD6hVFSClvBIgFUNpe2kBQx4NA7SzE8sfCmCiEgLS1NPTFEOQW8JblkKxy8rKD18Z' $BIN &= 'vecSjiKBc2gfZoQUyeH0tJ9UCNPopdgieauU3k3qA05cvQnkqEDYxwvCEHYAWRESweCgwQEMqlAjpa/jKAHGyLhj9WHNkIsWMVTRV8ojx1fsVAXoQmQeSmUqqSji2Euf/sMiBAwkCNDEQB8iFW+Gy0glGk9rBvT1e/MgnNKEU8y5jLox3R15Su19cfqR5bU/F8LaAuNhV1dpUSHgeuNBg9IGz9g6FcBVAIK5dmChTJC3zSFFihoVKoKJwQBOCaYunky5suXLlhE04ODAAYcGCDAv9lAAgOnTpgsAFg1GwQDUsAFMWM2aiobYsTXUboMAN24Qu8GU9g27QPAvB4jDPnC8igXlqC00p/Icumnp06Uktw6AefYow60b/36kN/fQ5I+EJz4+vZEME5RPUOfeiIL1qAsUrl++wYHOB4DG34AEFmjggQgmqOCCDDbo4IMQRijhhBRWaOGFGGao4Yb8AgUBACH5BAkJACIALAAAAABAAEAAAAb+QJFwSCwajxkKRCCAUDLHqHRKlVYokqw2S/FUv+BqBbQtS0CVsHotxEoE7zgcTmHbqxmzXgK9+40IcHtbdX+GQhCDZRBGBBsJFwEJGwSHU3FagppZAkQeBguhoqEGXpZGglubmUMeHaEBC7GzCx2mp0NMmWaCjEKgo8GyBrhEbrtzBoKFBMLOC5XFInmryph8v8/CxNIix5ypdEMPo7GysKIJ3SIeZNdvyhC35uei9LDr7McC1gIItyLu1UM3K5+QJEyYPDGSAB3BD/TUGQQDbCDEe9wmVmlm76K9UNE0VqkYgF4AiAsyiqTiKtjJkrUArpzySRZKcwb6zARDwEDwgpIJDITcSbSoUUshEjCIEIFBghBHWT4YMIGq1QEPZEYVouBD1a9Uv35QsLXIVLBoqT4oOySE1bRgB0Ble/at3a9r2TK4y3cCA7Yi+vIdABiDYLQYADOAy/cv3cNv85alALnqgEKPGeMFzLXB4bGchXioizZraGNK' $BIN &= 'I2BwOve069d3EDTg4MABhwYIYHsoAKC3794FtG5VMOC3cQAThB/VcPy4Bs4ImjfPzZa3dOMFAB+4bvwAYAvcf1v4Ht73eLbbywPwXl09gOxso6un3j48fMAZJnCfoBOwAuvHFUDWa7IdUNsBuMGm4IIMNuiggkEAACH5BAkJACIALAAAAABAAEAAAAb+QJFwSCwaj8ikcslsOp/QqHRKrVqv2Kx2y8VmKBCBAELJdLMVimTNXlM852oF1K5LQJX4VC0R9P9+fhR6URl2hxJmhE4Ifohtg4tNEI91EJJNf2yOnGsCmEyObZ2boEtim3aOl6ZJfKmBBo6RrUeGpLKaibWudaieErS8Rh50un2yEHDDSB6vArkCCMvMSV9iYmXV29zdSAQbCRcBCRsE3sQGC+vs6wbU3h4d6wEL9fcLHfDcG+3+9AbQEaD3z9+5buoK/gvYLYE9f/UerkvgLSK7iBbpVZT4D18Abw7b4fNHESHHi/Y+1GPIbSDKiCojHjQJUWIAlt3kEVygMqXpPnRCPCS0Z/EdUCIEDCQIQM7AzKNQo04JkYBBhAgMEoSQ6uHBgAlfww54sI+bgg9g035N+0EBUK9q4359gC5EWLlqB2ztBveu37R0CSFowMGBAw4NEBhh8LfxBAZ6PBQAQLky5QLwHDfGEEfBAMugAUygplnugDgaQofWMIQB3saQuyBQrVqxiL6vAZ+ZTBt0ASEUSovdy+VAb9AHhuB2HLiLheOWLQxR0KB02zjPoVOWPqQr87JajGsHkLwIhaoRMGQlHoe39t/dZo+33c19b/jeMkw4PkEROgX2WVaAW1ENdoBhByTGRRAAOw==' Local $bString = _WinAPI_Base64Decode_BinaryDB($BIN) If @error Then Return SetError(1, 0, 0) $bString = Binary($bString) Return $bString EndFunc ;==>_BinaryDB Func _WinAPI_Base64Decode_BinaryDB($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_BinaryDB Edited February 6 by Parsix
Parsix Posted February 6 Posted February 6 (edited) your Code Work with GIF files only. in _GUICtrlCreateAnimGIF func , $hImage loaded by _GDIPlus_ImageLoadFromFile $hImage = $bHandle ? $vSource : _GDIPlus_ImageLoadFromFile($vSource) Resize and fit gif in needed Edited February 6 by Parsix
Nine Posted February 6 Author Posted February 6 7 hours ago, Parsix said: your Code Work with GIF files only False. It works with file and GDI+ handle. Try this instead : Local $hImage = _GDIPlus_BitmapCreateFromMemory(_BinaryDB()) _GUICtrlCreateAnimGIF($hImage, 100, 100, 100, 100, -1, -1, True) “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
Parsix Posted February 6 Posted February 6 3 minutes ago, Nine said: False. It works with file and GDI+ handle. Try this instead : Local $hImage = _GDIPlus_BitmapCreateFromMemory(_BinaryDB()) _GUICtrlCreateAnimGIF($hImage, 100, 100, 100, 100, -1, -1, True) can be it scaled and fit to control ?
Nine Posted February 6 Author Posted February 6 Nope. See previous discussion. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy
Parsix Posted February 6 Posted February 6 1 minute ago, Nine said: Nope. See previous discussion. thank you, but auto scale is better from external resize and import to code i use from bin file in other sizes, your solution need import multi file to app _GUICtrlCreateAnimGIF is cropping gif files
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