If you are developing an application or tool, take some time to pore over the language bindings for IM and for GM availability of the right bindings on one but not the other would make the choice obvious. As great as the GIMP, Krita, and CinePaint are, support for new features and formats often makes it into IM first. I used to send digital images to a professional photo printer who demanded very specific settings for color space and embedded profiles, and in some cases converting the outgoing files to spec with IM was my only option in Linux. On the flip side, if you’re wondering why you would ever need a command-line tool for manipulating graphics on an X-enabled PC, it’s generally because the tool is the only option for some task none of the GUI image editors yet support, or as a time-saver for batch operations on very large files (particularly high-bit-depth images). But how often are you going to upgrade the IM binary on a server? Not enough that the alleged ABI changes are going to bite you, particularly when you consider that 90% of IM usage is limited to pedestrian operations like resizing and scaling. The complaints leveled at IM during the high point of the IM-GM forking debate were that IM changed its syntax between successive releases. In fact, many third-party applications and frameworks that used to depend solely on IM now support GM as well - examples include Gallery, Exhibit Engine, TYPO3, and RMagick.īut the truth is that you are highly unlikely to experience stability issues with ImageMagick in scripts or Web apps. So which do you use? The conventional wisdom is that you use IM for interactive tasks, and use GM in scripts or server-side installations. This decision on the GM team’s part means that GM and IM can happily coexist on one system. For example, instead of running convert photograph.jpg photograph.tiff as you would with IM, you run gm convert photograph.jpg photograph.tiff. The names of the equivalent IM commands serve as the first argument to gm. To keep from overloading the commands supplied by IM, GM wraps them all into one command: gm. GM offers the same essential tools as IM - IM has just added more options to them over the years. True to its word, GM has added far fewer features since its inception than IM has in the same timeframe. That project became GraphicsMagick, which split from ImageMagick in April 2003. Several of the core IM developers who were more interested in the ABI stability question decided the answer was to make a fork of IM and start a new project that prioritized the ABI aspects and long-term stability above adding additional features. Libraries have to worry about things like application binary interface (ABI) stability - but interactive commands don’t. But as more and more programmers began to use IM through its language interfaces, library-like concerns crept in. IM is not a library - it is a suite of discrete command-line executables. Over time, interfaces to many popular programming languages sprang up, opening up IM to programmers like a system library.Īnd in a sense, that was where the trouble began. It handles the server-side image manipulation duties in Web applications as diverse as personal photo galleries and Wikipedia. The core package is a collection of roughly a dozen separate command-line tools: animate, compare, display, identify, mogrify, and so on.īecause its command-line interface exposes so much functionality, IM has long been employed in scripts and automated routines. Though IM traces its own history back to 1987, when it was an internal tool developed at DuPont, the first public source code release was in 1990. How do you know which one is right for you? But there is also an alternative tool called GraphicsMagick (GM) that covers much of the same functionality. The ImageMagick (IM) suite of command-line graphics tools is a free software staple Linux, other Unix-like operating systems, and proprietary OSes like Windows have supported IM for close to two decades.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |