
テストのために、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
シェルではわかりません)。
答え2
空白ではなく大量の画像を生成するスクリプト可能な方法が必要な場合は、次の点を考慮してください。https://perlmaven.com/print-images-using-gd-simple