ImageMagick の v6 と v7 では同じコマンドを実行しても生成される画像のバイナリは異なる

結論

表題のとおりで、v6 と v7 では生成されるバイナリは異なる。

理由

imagemagick.org

v6 と v7 で生成されるバイナリの比較検討のやり方

ImageMagick の v6 と v7 にて、同じコマンドにて画像変換を行い、MD5 を取得する

  • 元画像は Unsplash の画像 を用いる
    • この画像を before.jpg というファイル名で保存する
$ wget -O before.jpg "https://images.unsplash.com/photo-1720048170996-40507a45c720?q=80&w=2513&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"

ImageMagick での変換コマンド と MD5 のチェックコマンド

v6

$ convert -strip -geometry 50% before.jpg after.jpg

# macOS では "md5sum" ではなく "md5" になる
$ md5sum after.jpg

v7

$ magick before.jpg -strip -geometry 50% after.jpg

# macOS では "md5sum" ではなく "md5" になる
$ md5sum after.jpg

補足

  • 公式のダウンロードページ は常に最新版しかダウンロードできない
    • なので、パッチバージョンまで含めてバージョンを固定する確実な方法は Docker を使うことぐらいしかない(はず)
    • apt などのパッケージマネージャもバージョンは不定*1

*1:チーム全体に固定を求めるのは手間

Powered by はてなブログ