GIMP or GNU Image Manipulation Program is a cross-platform, open source image editor. In our last article on GIMP (published in the January 2020 issue of OSFY), we explored some features of the tool. Continuing it further, here are some more.
GIMP 2.10 ships with a number of the improvements requested by digital painters. One of the most interesting new additions is the MyPaint Brush tool that first appeared in the GIMP-Painter fork.
The ‘Smudge’ tool has got updates specifically targeted at painting related use cases. The new ‘No erase effect’ option prevents the tools from changing the alpha of pixels, and the foreground colour can now be blended into smudged pixels controlled by a new ‘Flow’ slider, where ‘0’ means no blending.
All painting tools now have explicit ‘Hardness’ and ‘Force’ sliders, except for the MyPaint Brush tool, which only has the ‘Hardness’ slider. GIMP now supports canvas rotation and flipping to help illustrators check proportions and perspective.
A new ‘Brush lock to view’ option gives one a choice to lock a brush at a certain zoom level and rotate the angle of the canvas. The option is available for all painting tools that use a brush, except for the MyPaint Brush tool.
A new ‘Symmetry Painting’ dockable dialogue box, enabled on a per-image basis, allows one to use all painting tools with various symmetries (mirror, mandala, tiling…). This new version of GIMP also ships with more new brushes, which are available by default. Some of the new GEGL-based filters—Exposure, Shadows-Highlights, High-pass, Wavelet Decompose, Panorama Projection and others—are specifically targeted at photographers.
Apart from that, the new ‘Extract Component’ filter simplifies extracting a channel of an arbitrary colour model (LAB, LCH, CMYK, etc) from the currently selected layer. If one is used to decomposing and recomposing images, it will be easier now. Moreover, one can now use either Darktable or RawTherapee as GIMP plugins for opening raw files. Any recent version of either application will do. A new ‘Clip Warning’ display filter will visualise under-exposed and over-exposed areas of a photo, with customisable colours. For now, it is mostly geared towards images where colours are stored with floating point precision. You will benefit from this if you work on 16-/32-bit per channel float images such as EXR and TIFF.
GIMP now ships with over 80 GEGL based filters. A lot of these are former GIMP effects. Here are some reasons why GEGL based implementations are better:
- One can apply them on images in 32-bit per colour channel precision mode.
- One can preview them right on the canvas, and if an image is larger than the viewport, GIMP will render the viewport first for immediate feedback.
- One can use split preview to compare an original image with its processed version, and swap before/after sides both horizontally and vertically.
- In a future, non-destructive GIMP, one will be able to adjust settings of those filters without undoing a ton of steps.
Some of the GEGL based filters have the OpenCL version for hardware acceleration. This will come in handy if OpenCL drivers work well for you. Besides, many operations can be multi-threaded, using the power of your processors to their full extent.
While working with active users, quite a few usability issues were got rid of. Here are just some of these changes:
- All transformation tools now automatically disable original layer view so that you can clearly see adjustments against the backdrop.
- Masks can now easily be created with the last values you used by just pressing Shift and clicking on the respective layer’s preview.
- All dialogue boxes except the ones like Scale now remember the last values you used across sessions.
- All GEGL based filters allow saving named presets and automatically make timestamped presets for the last time you used them.
- You can now choose the fill colour or pattern for empty spaces after resizing the canvas.
File format support
GIMP is now capable of reading and writing TIFF, PNG, PSD and FITS files with up to 32-bit per channel precision, where applicable. The PSD plugin additionally supports pass-through, hard mix, pin light, vivid light and linear light blending modes. GIMP now also ships with native WebP support, including features like animation, ICC profiles, and metadata. The JPEG 2000 plugin has been rewritten to use the OpenJPEG library rather than the somewhat obsolete Jasper library. Finally, the PDF plugin now supports importing password-protected files (one needs to know the password) and exporting multi-page PDF documents (each layer will be a page).
Metadata viewing, editing and preservation
GIMP now ships with plugins for viewing and editing Exif, XMP, IPTC, GPS and DICOM metadata. These are available via the Image > Metadata sub-menu. GIMP will also preserve existing metadata in TIFF, PNG, JPEG and WebP files. Each plugin has its options when exporting, to enable or disable exporting the metadata. Additionally, users can now set defaults for whether or not to preserve metadata in all affected file forms at plugins, at once. This depends on whether they want complete privacy; if not, they can do a lot of micro-stock photography. The settings are available on the Image Import and Export page in Preferences.
GIMP 2.10 ships with a new feature that allows some GEGL based filters to render on-canvas controls. For now, this applies to just three filters: Spiral, Supernova and Panorama Projection.
As GIMP keeps evolving and getting more features, it becomes increasingly difficult to locate particular commands in the user interface. This is especially true when one is a new user who has yet to master image editing or an experienced user who is accustomed to a different application. GIMP 2.10 comes with a search system that allows you to easily locate a command available in GIMP’s menu. The slash key (/) has to be pressed, a keyword typed and the command that looks most applicable is chosen.
The next big update will be v3.0, which will feature the GTK+3 port and a lot of internal changes. For users, this will mostly mean an updated user interface, better support for graphic tablets, better support for HiDPI displays, and better support for Wayland on Linux.
An overview of the image formats
Let’s take a look at the pros and cons of various image formats from a GIMP perspective.
The eXperimental Computing Facility (XCF) is where GIMP was authored.
- This is the native GIMP image format.
- Everything is saved—layers, selections, channels, paths and more.
- This is not a ‘display’ format, even if you can find codecs to display thumbnails of XCF images in file explorers.
- It’s bulky.
- Colour channels are coded in 8 bits (in GIMP 2.8).
- Saving all GIMP work.
- Compresses the files quite efficiently.
- Is universally supported for display.
- Compression is ‘lossy’ and this slightly alters the image data. In case of global changes (colour, contrast, etc), repeated file editing will slowly degrade the image quality.
- At good quality levels, compression is invisible in photography but can be seen (so called ‘artefacts’) in computer-generated graphics and text.
- It does not support transparency.
- Colour channels are coded on 8 bits.
- Display of photography.
- Storage of photography.
- Lossless format, and all pixels are kept.
- Supports partial transparency.
- Produces small files with most computer graphics.
- Supported by all browsers.
- Complex images (photos) are bulky.
- Colour channels are coded in 8 bits.
- Web page widgets —banners, buttons, frames, etc.
- Computer graphics.
- Screenshots (unless this screenshot is mostly made up of a photo).
- Universally supported for animation.
- Only 256 colours per image, leading to a blocky look (a modern variant supports 256 colours per frame, but GIMP does not use it).
- Supports transparency but only as fully transparent/fully opaque.
- Small animated images (in all other still-image uses, PNG is a better alternative, and for bigger animation, modern HTML supports video).
- Lossless format, and all pixels are kept.
- Colour channels can be coded in 16 bits.
- Can store several images (layers).
- Supported by all image processing software.
- Can be bulky for complex images.
- Storage and exchange of high quality images.
- Raw images formats: NEF (Nikon), CR2 (Canon), etc
- No loss of information from the camera sensor (in theory).
- High-depth colour channels (12- or 14-bit).
- Proprietary (except DNG).
- Content format can change without notice (with the arrival of new camera models); this can impact support for one’s favourite software.
- It’s bulky.
- Not suitable for display.
- Storage of camera output, but a secondary copy in some universal format could be a good idea.
There are of course many other image formats, but these cover most use cases. They can usually be converted easily to any other format, should the need arise.
The terms and conditions for copying, distribution and modification of GIMP are clearly listed in the GNU General Public License. Redistribution for free or for profit is specifically allowed as long as the licence is included and the source code is made available. Besides the rights and conditions given by the GPL, it would also be nice (but not required) to mention in any advertising that the product being sold is GIMP (or a bundle including GIMP) or has been derived from it.
Recommendations for those who sell copies of GIMP
If you or your company intend to sell GIMP, it would be good to follow the guidelines given below.
Be honest: Do not try to hide the fact that the product you are selling is or contains GIMP (the GNU Image Manipulation Program). Mention it in any advertisement.
Add value: Try to provide more than what can be found in the default GIMP package. Include a nice installer, additional plugins, some nice artwork, some custom brushes and textures, your own tutorials and documentation, printed copies of the documentation, etc.
There are many ways to add value to GIMP and to make your customers happy.
Respect the GPL: The GPL requires you to make the source code available. The best solution is to include the source code on the same medium as the GIMP installation package, but you can also include a written offer to supply the source code on request. Note that you cannot simply give a link to the GIMP FTP mirrors; it should be the exact source code that was used to compile the binary package that you are selling and you have to cover the costs of redistribution yourself. If you sell and distribute the binaries online, the GPL requires you to make the source code available “from the same place.” So giving a link to the GIMP mirrors is not sufficient.
Support your users: If the version of GIMP that you are selling has been modified by you in any way, you should inform your users and try to handle the support requests related to that version. Providing good support is another way to make your customers happy.
Give back to the community: If the software created by many volunteers helps your business, it would be nice to return the favour by helping the developers. You can contribute by sending some improvements to the code or by sponsoring some events such as the GIMP developer’s conference. This is not required but happy developers are more likely to create a better product that you can sell later.
While open source software can be obtained free, there are also some issues involved when using them. One is the frequency of updates, which depends solely on the developers. Frequent updates are preferred so that the software remains useful. Another issue is the stability of the software. Business critical software must be stable and bug-free. Compatibility with proprietary software used by business partners is another issue. A company must be able to open a document sent by a business partner who uses proprietary software.