先日大きな画像をとあるソフトに読み込ませようとすると
読み込まないということがありました。
画像サイズは、256×14688 という非常に縦長の画像です。
仕方ないので分割して読み込ませようとPhotoshopを使ったのですが結論としては分割できませんでした。
Photoshopで画像を分割して保存するには
まず、一般的に Photoshopで画像を分割して保存する方法を解説します。
1.スライスツールで分割する
2.書き出しから 「Web用に保存」
具体的には以下の動画のようにやります。
1では、スライスツールというカッターアイコンのツールで切り出したいところを四角形で選択していきます。
そして、2で保存フォルダを選んで images という場所に連番で書き出しさせます。
これはよく使う操作ですのでご存じの方も多いと思います。
Photoshopで大きい画像を分割保存しようとすると
さて、基本は先に説明した通りに分割して保存するのですが、
元の画像が大きいと等倍で保存できません。
なんと縮小して保存することしか出来ないのです。
具体的には、「画像サイズ」という部分が小さくなり「%」で100を選べません。
限界はどうやら8192ピクセルのようでした。
分割後のサイズではなく、分割前のサイズで限界が決まるのは困ります。
画像の分割にはImageMagickを使おう
いろいろ調べましたが、この悩みを解決するいい方法はなく、
こういうのはプログラムにやらせるのが一番だと思いました。
ということで、ImageMagickをインストールします。
Macの場合は x-code のコマンドラインツールというものをインストールしていた場合、homebrew コマンドからもインストールできます。
Base.png という 256×14688 の大きな画像を、
上から2048ピクセルずつ元の形式で連番で出力し直すコマンドの例を書きます。
convert -crop 256×2048+0+0 Base.png Base0.png
convert -crop 256×2048+0+2048 Base.png Base1.png
convert -crop 256×2048+0+4096 Base.png Base2.png
convert -crop 256×2048+0+6144 Base.png Base3.png
convert -crop 256×2048+0+8192 Base.png Base4.png
convert -crop 256×2048+0+10240 Base.png Base5.png
convert -crop 256×2048+0+12288 Base.png Base6.png
convert -crop 256×2048+0+14336 Base.png Base7.png
左が出力する画像サイズ、右が出力開始する座標です。
変化している箇所は一箇所でy座標を2048ずつ足していっているだけです。
ところで正確には最後の画像の高さは2048に満たず352ピクセルなので
本当は
convert -crop 256×352+0+14336 Base.png Base7.png
とすべきなのですが、そうしなくても残りの352ピクセルで出力してくれました。
終わりに
いかがでしたでしょうか?
Photoshop って画像のことはなんでもできそうだと思っていましたが、
大きい画像を等倍で出すのは苦手のようでした。
こういうとき、かんたんなプログラムにやらせると一瞬で解決しますので、
デザイン作業であろうとプログラムを使うのがおすすめです。
みなさんのお悩みは解決しましたでしょうか?