Warning
In Linux. If you get black screen as grabbing result, then it is bug JDK-8269245. You can switch your session to X11 (under Ubuntu it is possible through login screen) to get it properly working.
Warning
In MacOS. If you can't manipulate content under grabbing window by mouse, then it is bug JDK-8013450.
-
2.1.7 (SNAPSHOT)
- updated embedded JDK to 23+38
-
2.1.6 (01-nov-2023)
- updated embedded JDK to 21.0.1+12
-
2.1.5 (20-sep-2022)
- native windows launcher moved from i386 to amd64 to prevent antivirus false positive detection
- updated embedded JDK to 17.0.4.1+1
- updated dependencies
While working on an article for a well-known web resource, I needed to create animated GIFs, and I had planned to use the popular Peek utility for this purpose. However, to my surprise, I discovered that this utility does not support multi-display environments. I had to quickly devise a Java-based solution that could capture animations and save them to a file. Initially, I opted to record animations as animated PNG files since it was simpler, but later, I also implemented the conversion to GIF.
You can download its distributive for your OS from the releases page. It requires Java 11+ for work but some archives provide bundled JRE. Keep in mind that it is very tricky to grab mouse pointer appearance under Java so grabbed pointer look may differ from your system one.
Just after start, the window in positioning mode and shown in green color. Supported only mouse, and you can drag the
window and resize it to cover required capture area. During positioning mode, you can see three buttons in top of the
application window. The leftmost button is the main one and if click on it, recording will start. The middle button is
to edit application settings and the rightmost button to close application.
Recording activated by single click by mouse on the leftmost button in the window title area. In the recording mode
all auxiliary buttons will be removed and the window changes its color. Only stop record button will be blinking one in
the leftmost corner.
To stop recording, you should make mouse double-click on the blinking button in the title area. After recording
stop, you will see the save file dialog to save the record file, if you press cancel button then the record will be
rejected and just deleted. If you choose GIF file type then conversion will be started, it can take some time and
depends on power of your computer. You can select different options for saved GIF files in settings, but you have to do
it before record.
You can tune misc record options. For instance disable show of mouse pointer or limit number of loops in the result
record show. To do it you should click the setting button and the Settings dialog will be opened.
- Temp folder allows define the folder where intermediate files will be saved, if empty then default temp folder in use.
- Capture delay (ms) delay between shots of the recorded area in milliseconds.
- Frame delay (ms) delay between frame show in result animation in milliseconds. If different with
Capture delay
then animation will be either faster or slower. - Loops is number of ami,ation loops to be played during result animation show, zero means infinity animation.
- Show capturing area metrics allows turn on information about capturing area coordinates during positioning.
- Grab mouse pointer allows grab position of mouse pointer and show it in the result animation.
- Color filter allows make some preprocessing of colors and make it gray or amber for instance. Decreasing result file size.
- Palette RGB to GIF provides palette to be used during GIF conversion, AUTO means some global auto-palette formed on statistic data.
- Better RGB colors to GIF allows increase precision of palette color search during GIF conversion but make process much slower.
- Dithering GIF makes dithering in the result GIF to get better quality with provided palette but makes file much bigger and process much slower.
- Force whole frame allows turn off optimization of saved frames and save whole frame, sometime can help in dithering GIF conversion if area border artifacts presented.
I have not found yet way to grab mouse pointer icon under MacOS..