# Editing images

## Chinks in my armour of learned Photoshop helplessness

See also colour, diagrams etc.

## AI cheating

See AI image editing.

## Supporting modern formats

### WebP

WebP image format is supported on most modern browsers. It is what I use on the blog. Annoyingly many servers do not support it and do not render WebP preview images. Probably they will only support GIF89 until the end of time.

### AVIF

The most futuristic one with reasonable support (i.e. 70% of browsers).

JPEG2000, bpg

## Command line image editing

Two command line tools to remember are graphicsmagick and imagemagick: two similar, stand-offish rivals. Imagemagick is the “original”, whatever that might means in the tangled phylogeny of software intellectual property. Graphicsmagick has, AFAICT, a better API. They are usually interchangeable from a user perspective. From a developer perspective, IM pretends GM does not exist, whereas GM knows IM exists and thinks it is awful:

Here are some reasons to prefer GraphicsMagick over ImageMagick or other popular software:

• GM is more efficient than ImageMagick so it gets the job done faster using fewer resources.
• GM is much smaller and lighter than ImageMagick (3-5X smaller installation footprint).
• GM is used to process billions of files at the world’s largest photo sites (e.g. Flickr and Etsy).
• GM does not conflict with other installed software.
• GM suffers from fewer security issues and exploits than ImageMagick.

G'MIC includes a world of image conversion including scriptable image processing pipelines. See, e.g., a hand-rolled fingerpainting filter via diffusion tenor fields. Also has GIMP and Krita plug-in versions.

G'MIC is a full-featured open-source framework for digital image processing It provides several user interfaces to convert / manipulate / filter / visualize generic image datasets, ranging from 1D scalar signals to 3D+t sequences of multi-spectral volumetric images, hence including 2D color images.

Doing animated GIFs? they are fiddly. Specialised tool gifsicle handles them.

### imagemagick hacks

Fred Weinhaus’s imagemagick scripts show you how to do a great many useful things, e.g. Histogram matching. (⚠️ Beware the odd licensing conditions.)

### favicon

convert favicon.png  -bordercolor white -border 0 \
$$-clone 0 -resize 16x16$$ \
$$-clone 0 -resize 32x32$$ \
$$-clone 0 -resize 48x48$$ \
$$-clone 0 -resize 64x64$$ \
-delete 0 -alpha off -colors 256 favicon.ico
convert favicon.png -define icon:auto-resize=64,48,32,16 favicon.ico

## GUIs

GUIs? You want, e.g. the Adobe suite? I will never touch that because of the economics of comparative advantage… But sometimes you need a few pixels nipped and tucked without any fuss.

### Pinta

The tiniest, simplet one Pinta: Painting Made Simple.

Pinta is a free, open source program for drawing and image editing.

Its goal is to provide users with a simple yet powerful way to draw and manipulate images on Linux, Mac, Windows, and *BSD.

One can even write extensions in C#.

### Gimp

Gimp is a flagship open source image editor. It has powerful plugins. Its user experience is a clusterfuck; there are such startling and unnecessary pain points as the fact that plugin registry (which is IMO the only reason you would want to dive into this dorknado) is broken in an undocumented way that probably has to do with it being am undermaintained security nightmare.

Paul Harrison’s resynthesizer is a texture synthesizer for GIMP. See also his rather amazing thesis, with a diversion into the Turing completeness of tiling. And yes that G'MIC thing is also gimpy.

### Krita

Krita is a ground-up reimagining of fun open-source non-nerview image editing. It has cute features like quasi-physical-modelling brush design and automatic tiling mode. Fairly pleasant to use. You can write your own plugins in python, making this an art python app.

### ImageJ

Classic “scientific” editor ImageJ has been useful for a decade or two. I think the most popular distribution is Fiji. ImageJ2 is the core:

ImageJ2 is a rewrite of ImageJ for multidimensional image data, with a focus on scientific imaging. Its central goal is to broaden the paradigm of ImageJ beyond the limitations of the original ImageJ application, to support the next generation of multidimensional scientific imaging.

### Incoming

Repper generates tesselating/tiling patterns. AUD8/month.

## Making images smaller for the internet

Squoosh is a browser-based image compacted which works on raster and vector graphics from the browser.

## Anonymising images for the internet

Image scrubber is a browser-based option motivated by recent protests.

### No comments yet. Why not leave one?

GitHub-flavored Markdown & a sane subset of HTML is supported.