Bagaimana cara menghasilkan banyak file gambar (kosong)?

12

Untuk pengujian, saya harus segera membuat 1700 jpg-gambar (bahkan kosong) dalam ukuran yang ditentukan 1000x706. Saya ingin tahu apakah kita bisa melakukan ini dengan skrip shell atau program (seperti ImageMagick). Saya berharap mereka memanggil img_0.jpg, img_1.jpg...

Ada yang tahu solusi sederhana?

Raphaël
sumber

Jawaban:

21

Berikut ini harus sesuai dengan kebutuhan Anda:

#!/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 menciptakan gambar pertama, dan kemudian disalin untuk membuat 1.700 file. Jika ulimittidak membatasi Anda untuk melakukannya (mungkin akan) dan Anda memiliki cukup deskriptor file, Anda dapat mengganti loop dengan:

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

Anda juga bisa menggunakan idiom yang lebih pendek (dengan kebutuhan memori yang lebih besar untuk menyimpan semua angka sekaligus) for _num in {1..1699}dalam bashversi terbaru , tetapi Anda tidak menentukan cangkang mana yang tersedia. ((tersedia di sebagian besar kerang ( bash, ksh, dan ashsetidaknya, tidak yakin tentang orang lain).

Chris Down
sumber
Terima kasih untuk bantuannya. Saya mencoba ini dalam beberapa jam. Terima kasih atas idenya =) Saya memilih jawaban Anda segera setelah saya memiliki cukup poin
Raphaël