ImageMagick: CLI for Image Editing
imagemagick.org
imagemagick.org
imagemagick /usr/bin/animate
imagemagick /usr/bin/compare
imagemagick /usr/bin/composite
imagemagick /usr/bin/conjure
imagemagick /usr/bin/convert
imagemagick /usr/bin/display
imagemagick /usr/bin/identify
imagemagick /usr/bin/import
imagemagick /usr/bin/mogrify
imagemagick /usr/bin/montage
imagemagick /usr/bin/streamI was honestly thinking of stuff like `du` (disk usage), `cp`, `mv`, and the like. Like I sort of mnemonically remember them, compared to mentally mapping `convert` -> imagemagick.
I didn't say it was developed on/for Linux.
But because it was a mature product and added to Linux very early on, this is why it was able to get the names that it did.
so maybe you can share what it is you are responding to?
To be quite clear, in the context of ImageMagick, claiming early Linux image processing with ImageMagick is irrelevant, also, not exactly true. What much does alleged Linux inclusion of any application (/usr/local/*) whatsoever have to do with that application? You're apparently promoting Linux by claiming it's a feat few had considered, or otherwise saying "I am cool," which is fine I guess and I don't doubt it, but also irrelevant.
As I pointed out, ImageMagick was developed in 1987, and I should have gone on to specify that most digital image manipulation techniques were developed in the 1960's. So assuming your Yggdrasil installation was processing images with it in early 1993, that it was "before most had considered it" is hardly knowable. I'm reading it similarly to saying your Chevy wipers were wiping your windshield before most had considered it when modern wipers were invented 50 years ago and all the techniques for doing so were worked out around the turn of the century. Chevy's are great and all, but there are other things.
It is at relevant, because this is about why imageMagick has such prime namespace on linux.
I don't have any idea why you are going in these seeming random directions, I'm not promoting linux, or whatever else your going on about.
This is my original statement
> Image magick has been around for a pretty long time, and was doing image processing on linux before most had considered it.
Surely we can both agree part below is a fair and accurate statement
> Image magick has been around for a pretty long time
This next part, is the part that seemingly needs clarification
> and was doing image processing on linux before most had considered it.
When imagemagick was added to linux in the mid 90s (near ImageMagick 4) not a lot of people were doing image processing in the OS. and being that it was the first mature image processor added to the distro, it is why it has the namespaces it does.
I'm not sure how you are either not getting that clarifier of "on linux" and seem to be trying to debate something about the history of image processing itself?
To be very clear, and to hopefully prevent this continued necro'ing of this post, I was not, talking about this history of image processing, but the specific linux namespace that imagemagick has, and why it has it.
Any other points of debate about this are irrelevant.
$ pacman -Ql imagemagick | grep bin
imagemagick /usr/bin/
imagemagick /usr/bin/Magick++-config
imagemagick /usr/bin/MagickCore-config
imagemagick /usr/bin/MagickWand-config
imagemagick /usr/bin/animate
imagemagick /usr/bin/compare
....
You may also enjoy: $ pacman -Qo /usr/bin/{display,convert}
/usr/bin/display is owned by imagemagick 7.1.0.16-1
/usr/bin/convert is owned by imagemagick 7.1.0.16-1 $ dpkg -L imagemagick-6.q16 | grep bin
/usr/bin
/usr/bin/animate-im6.q16
/usr/bin/compare-im6.q16
/usr/bin/composite-im6.q16
/usr/bin/conjure-im6.q16
/usr/bin/convert-im6.q16
/usr/bin/display-im6.q16
/usr/bin/identify-im6.q16
/usr/bin/import-im6.q16
/usr/bin/mogrify-im6.q16
/usr/bin/montage-im6.q16
/usr/bin/stream-im6.q16
Similarly, you get $ dpkg-query -S /usr/bin/convert-im6.q16
imagemagick-6.q16: /usr/bin/convert-im6.q16
This does not work for the canonical executables though as they are just symlinks to /etc/alternatives/foobaryou can use realpath for this
dpkg -S $(realpath /usr/bin/convert)
and you can ignore the path to it entirely with dpkg -S $(realpath $(which convert))Imagemagick saved enormous amounts of time for us as we made CSS and other module upgrades.
Edit: Here’s one guide for the legacy Imagemagick (may not work for the latest release), https://legacy.imagemagick.org/Usage/compare/
I’m trying to encourage my front end developers to use visual diffs to validate rendering rather than use Protractor to test HTML/CSS.
I’ve known about BackstopJS, https://garris.github.io/BackstopJS/ and am on the lookout for alternatives.
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=imagemagick
There have been a number of zero days.
My entire interaction with Imagemagick has been removing it. Often with great difficulty because there is some odd dependency.
[1] Random search result that appears to corroborate my claim: https://blog.aquasec.com/container-isolation
If the security folks at your job truly doesn't consider containers security boundaries then they are wrong. What seems more likely is they don't consider containers alone a _good enough_ security boundary. And that's fine, some places consider separate processes with different rights good enough security boundaries. Others consider two boxes that are able to interact with each other not a good enough security boundary. It doesn't change that things that weren't secure enough for the use case are still security boundaries.
So you could use it in some typical dev workflows (or other business workflows) that are purely internal and maybe in certain non-internal processes where the inputs are strictly limited to trusted ones. But not, e.g., in services/apps that could process untrusted inputs.
(Seems like there are a number of leaks too, but since it's process-oriented, those probably won't be that hard to live with. They might be hard to notice normally.)
?
Same. I've successfully moved all my image manipulation requirements to libVIPS. Far more performant and with a ton less memory usage.
fyi
The resulting PDFs are here: https://archive.org/details/@eamonnmr
svgo (SVG Optimization)
colorist / avifenc (AVIF)
cwebp (webp)
convert (ImageMagick, everything else)
because ImageMagick is able to convert MOST of thse, but not every format.https://github.com/joedrago/colorist
Here's one use of it in the wild, which batch takes a path of GAN output files, each with a grid of thumbnails, and splits them into individual images. Gloriously easy. https://github.com/binarymax/matchbox-twelvy/blob/master/dcg...
This is expectable in music, but in tooling?
And with Image-frigging-Magick ?
Damn.
Looking forward to the front-page HN-trended article on `sendmail`
HN works on texts, lots of blogs are plain text, and ofc you have http://68k.news, https://lite.cnn.io and https://text.npr.org.
> There's a million ways to skin the cat of image resizing, whether you're using photoshop, gimp or a command line utility. We like to use imagemagick when ever possible.
I notice this pattern. Someone posts, readers look at the article / content and the comments, then find something else interesting, and that thing then becomes another submission to HN (either because it is indeed interesting on its own, or to gain points due to relevancy of surrounding material on the front page, or both).
AWS free tier offerings are per account; a person (or organization) can have lots of AWS accounts. The people signing up for a new one today may well be people that already have one.
It can be easy to forget how vast this field truly is.
https://onezero.medium.com/the-largely-untold-story-of-how-o...
Magic, indeed.