rimmi2002 Posted May 3, 2018 Share Posted May 3, 2018 (edited) Hi, I am doing data analysis. In doing this I take a screen shot of a particular area of the screen that matches the criteria I have set. Once the program Is done running it has about 60-80 screenshot images. Each image is about 700 pixels wide and 60 pixels in height. Instead of looking at each of these images individually is there a way that I can stitch/Merge them altogether using auto it As they are being taken. For example: On first image take screenshot On second image take screenshot and append to first image. Output --> Image with both screenshots on it (Stacked vertically) On the third image take screenshot and appended to the image created in the line above. Output --> With all 3 screenshots on it (stacked vertically) .... and so on. Any help would be great. If I can do this it will greatly reduce my work.Thanks. Edited May 3, 2018 by rimmi2002 Link to comment Share on other sites More sharing options...
Nessie Posted May 3, 2018 Share Posted May 3, 2018 (edited) Take a look to this script: expandcollapse popup#include <File.au3> #include <GDIPlus.au3> #include <ScreenCapture.au3> #include <MsgBoxConstants.au3> $sTempPath = @ScriptDir & "\temp" $sStackedImagePath = @ScriptDir & "\StackedBitmaps.png" $iScreenShotNumber = 8 ;Set the screenshots number If Not FileExists($sTempPath) Then DirCreate($sTempPath) Else DirRemove($sTempPath, 1) DirCreate($sTempPath) EndIf If FileExists($sStackedImagePath) Then FileDelete($sStackedImagePath) EndIf For $i = 0 To $iScreenShotNumber - 1 _ScreenCapture_Capture($sTempPath & "\" & $i & ".jpg") If @error Then MsgBox(16, "Error", "Unable to take screenshot") Exit EndIf Next Global $aFilter = _FileListToArrayRec($sTempPath, "*.jpg;*.png;*.bmp", $FLTAR_FILES, $FLTAR_NORECUR, $FLTAR_NOSORT, $FLTAR_FULLPATH) If @error Then MsgBox($MB_ICONERROR, "Error", "No images were found in selected folder!", 10) Exit EndIf _GDIPlus_Startup() Global $hBitmap_Stacked = _GDIPlus_BitmapCreateStackedBitmaps($aFilter, $iScreenShotNumber) _GDIPlus_ImageSaveToFile($hBitmap_Stacked, $sStackedImagePath) _GDIPlus_ImageDispose($hBitmap_Stacked) _GDIPlus_Shutdown() DirRemove($sTempPath, 1) ShellExecute($sStackedImagePath) MsgBox($MB_ICONINFORMATION, "Done!", "All done!") Func _GDIPlus_BitmapCreateStackedBitmaps($aFiles, $iLimit = 5) If $aFiles[0] = 1 Then Return SetError(1, 0, 0) ;only one image $iLimit = $iLimit > $aFiles[0] ? $aFiles[0] : $iLimit Local $i, $aDim, $iW_max = 0, $iH_max = 0, $aImages[$iLimit + 1], $iY = 0 $aImages[0] = $iLimit For $i = 1 To $iLimit $aImages[$i] = _GDIPlus_ImageLoadFromFile($aFiles[$i]) $aDim = _GDIPlus_ImageGetDimension($aImages[$i]) $iW_max = $aDim[0] > $iW_max ? $aDim[0] : $iW_max $iH_max += $aDim[1] Next Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW_max, $iH_max), $hGfx = _GDIPlus_ImageGetGraphicsContext($hBitmap) For $i = 1 To $iLimit $aDim = _GDIPlus_ImageGetDimension($aImages[$i]) _GDIPlus_GraphicsDrawImageRect($hGfx, $aImages[$i], 0, $iY, $aDim[0], $aDim[1]) _GDIPlus_ImageDispose($aImages[$i]) $iY += $aDim[1] Next _GDIPlus_GraphicsDispose($hGfx) Return $hBitmap EndFunc ;==>_GDIPlus_BitmapCreateStackedBitmaps Hi! Edited May 3, 2018 by Nessie dmob 1 My UDF: NetInfo UDF Play with your network, check your download/upload speed and much more! YTAPI Easy to use YouTube API, now you can easy retrive all needed info from a video. NavInfo Check if a specific browser is installed and retrive other usefull information. YWeather Easy to use Yahoo Weather API, now you can easily retrive details about the weather in a specific region. No-IP UDF Easily update your no-ip hostname(s). My Script: Wallpaper Changer Change you wallpaper dinamically, you can also download your wallpaper from your website and share it with all! My Snippet: _ImageSaveToBMPConvert an image to bmp format. _SciteGOTO Open a file in SciTE at specific fileline. _FileToHex Show the hex code of a specified file 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