多数の(空白)画像ファイルを生成する方法は?

多数の(空白)画像ファイルを生成する方法は?

テストのために、1000 x 706の定義されたサイズで1700のjpg画像(空白画像も含む)をすばやく作成する必要があります。シェルスクリプトやImageMagickなどのプログラムを使用してこれを実行できるかどうか疑問に思います。彼らは電話してほしいimg_0.jpg...img_1.jpg

簡単な解決策を知っている人はいますか?

ベストアンサー1

以下はあなたの要件を満たす必要があります。

#!/bin/bash
convert -size 1000x706 xc:white img_0.jpg || { printf '%s\n' 'Failed to create original image' ; exit 1 ; }
for (( _num = 1 ; _num < 1700 ; _num++ )); do
   cp img_0.jpg "img_${_num}.jpg" || { printf '%s\n' "Failed to copy to image img_${_num}.jpg" ; exit 2 ; }
done

ImageMagickは最初の画像を作成し、それをコピーして1700個のファイルを形成します。ulimitこれを行うには制限がなく(おそらくそうかもしれません)、十分なファイル記述子がある場合は、ループを次のように置き換えることができます。

tee img_{1..1699}.jpg > /dev/null < img_0.jpg

for _num in {1..1699}最新バージョンではより短いイディオムを使用することもできますが、すべての数字を一度に保存するにはより多くのメモリが必要ですが、bash使用可能なシェルを指定しません。((ほとんどのシェルで利用可能です(bash少なくともksh他のashシェルではわかりません)。

おすすめ記事