Skip to content

The ImageMagick Tutorial That Finally Taught Me How to Use ImageMagick.

To get the backgrounds for this site, start with a normal image (bg_dark.jpg) and run this:

convert bg_dark.jpg -modulate 50,30 -level 0%,60%,0.6 -fill gray -colorize 80% bg_light.jpg

This is brought to you by the only useful ImageMagick tutorial on the entire Internet: IM v6 Examples.

Why is this a good tutorial, as opposed to the millions of other IM tutorials out there?

First off, it has Pictures. It seems obvious to me that a tutorial on how to use an image manipulation utility would have pictures. But if you go to ImageMagick’s website, you can find their explanation of what the tools do, which has no pictures at all. And although they don’t call that page a tutorial, that’s the documentation that exists on their site.

Second, the pictures tell you what they’re trying to accomplish, and how they go about doing that, and–this is the important part–why that works. I know a little bit about colorspaces, and gamma correction, and white-point modification, but I don’t really know about them. The guy who wrote that site does. And he tells the reader so that the reader, in addition to finding the single command-line that they are trying to find, gains an understanding of the system that they are using and how they might be able to leverage that system in the future.

A good tutorial teaches you twice; it shows you how to do what it is you want to do, and it embeds in your brain the fundamentals upon which that action is built. If you gloss over the why, the how is meaningless. You see this all over the place, but I’m going to pick on W3Schools because they seem to be in the top three results from every CSS search I do on Google, but every time I go there I end up going to the W3 site anyway, because the W3Schools site doesn’t include the why, only the how. They don’t ever tell you the tricks behind the magic, and so you learn by rote, which is the worst way to learn that there is.

The real kicker with W3Schools is that in the vast majority of cases, they don’t even point you to the site, or any site that might be of greater use.

Now, a huge caveat to this entire post: I live by what I call the ‘Linux Principal’, which is to say that one must constantly remind oneself that not everyone is just like me. Other people learn, think, and believe differently than I do. It might be that some people out there learn best by memorizing lists of CSS properties and XSLT formatting tags, but I don’t. It might be that some people can grok all of ImageMagick by reading that the -texture <filename> argument works by reading name of texture to tile onto the image background., but I don’t. I’m open to the possibility that everyone out there is really supersmarter than myself and gets this without effort.

But I doubt it.