如何生成大量(空白)图像文件?


12

为了进行测试,我需要快速以定义的1000x706大小创建1700个jpg图像(甚至空白)。我想知道我们是否可以使用Shell脚本或程序(例如ImageMagick)来做到这一点。我希望他们打来img_0.jpgimg_1.jpg……

有人知道一个简单的解决方案吗?

Answers:


21

以下应满足您的需求:

#!/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版本中使用较短的习惯用法(需要更大的内存才能一次存储所有数字),但是您没有指定可用的shell。((在大多数炮弹可用(bashksh,和ash至少,不知道其他人)。


谢谢您的帮助。我会在几个小时内尝试一下。谢谢您的创意=)只要有足够的积分,我就投票给您答案
–Raphaël

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.