どうも、ゆうきゃんです。
本日はITプロラボさんのもくもく会より投稿です。
皆さんからいいねを10個いただいたら投稿する約束になったので投稿します!!

背景

ファイルのアップロード機能を作った時などに、アップロード用のテスト画像を用意するのが手間でした。
開発環境ならネットから適当に拾ってきた画像で良いのですが、
ステージングなどでテストするときに趣味趣向がバレバレになってしまいます。これはまずいです。

目的

テスト用の画像を生成する。

導入

ImageMagick(イメージマジック)という画像操作ライブラリをインストールします。

$ brew install imagemagick

$ magick -version
Version: ImageMagick 7.0.7-33 Q16 x86_64 2018-05-17 https://www.imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://www.imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules
Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib

Homebrew入っていない人はココからインストールしましょう。

ファイルはコマンドを実行した場所に画像が生成されます。

$ mkdir sample_image; cd sample_image

お試しする場合はテスト用ディレクトリを作成しておきましょう!

単色の画像ファイルを作成

$ magick -size 400x300 canvas:tomato bg_tomato.png

bg_tomato.png

数値入りの画像を作成

$ magick -size 400x300 -background tomato -fill black -gravity center -pointsize 70 label:"000" bg_tomato_000.png

bg_tomato_000.png

連番の画像を作成

コピペすれば、10枚の連番画像が3セットの色違いを生成できます。

for i in `seq -f %03g 1 10`
do
  magick -size 400x300 -background tomato -fill black -gravity center -pointsize 70 label:$i bg_tomato_$i.png;
done

for i in `seq -f %03g 1 10`
do
  magick -size 400x300 -background teal -fill black -gravity center -pointsize 70 label:$i bg_teal_$i.png;
done

for i in `seq -f %03g 1 10`
do
  magick -size 400x300 -background skyblue -fill black -gravity center -pointsize 70 label:$i bg_skyblue_$i.png;
done

ファイル枚数が多いので Dropbox に上げてみました。
https://www.dropbox.com/s/jmzvtlyuq9rro1c/imagemagick_sample.zip

参考