【ImageMagick】透過pngを、アルファチャンネルを「透明度」ではなく「追加チャンネル」として扱うtiff形式の画像に変換する

ImageMagickでアルファチャンネルを透明度ではなく追加チャンネルとして扱うtiffを生成する方法です。

やりたいこと

tiff形式の画像は、アルファチャンネルを透明度として扱うこともできるし、あるいは追加のチャンネルとして扱うこともできます。

追加のチャンネルとして扱うメリットは、Photoshopなどで読み込んだ時にアルファチャンネルを編集できることです。

追加チャンネル

透明度として扱われてしまうとアルファチャンネルの編集はできません。

透明度

本記事では、ImageMagickを使ってアルファチャンネルを追加チャンネルとして扱うtiffを生成する方法についてまとめます。

pngからtiffを生成する

今回は透過pngからtiffを生成してみます。

まず以下のように普通に生成すると、アルファチャンネルとは追加チャンネルとしてみなされず、透明度として扱われます。

magick input.png output.tif

これに対して以下のように -define tiff:alpha=unspecified をつけるとアルファチャンネルが追加チャンネルとして扱われるようになります。

magick input.png -define tiff:alpha=unspecified output.tif

これはチャンネルをアルファとして指定しない(=未指定として指定する)設定です。
詳しくは以下のページのExtraSamplesの項目を参照してください。

Tiff

圧縮しておく

実際には圧縮して使うことも多いかと思うので、本記事の内容とは直接関係ないですが、ついでに圧縮しておきます。

圧縮するには -compress オプションを指定します。

magick input.png -define tiff:alpha=unspecified -compress LZW  output.tif

参考

Tiff