많은 수의 (빈) 이미지 파일을 생성하는 방법은 무엇입니까?

많은 수의 (빈) 이미지 파일을 생성하는 방법은 무엇입니까?

테스트를 위해 1000x706의 정의된 크기로 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

관련 정보