저는 현재 Bash 용 셸 스크립트를 작성 중입니다. 대용량 이미지의 크기가 다른 경우 다른 크기의 축소판을 만듭니다.ImageMagick/GraphicsMagick에서 여러 축소판 만들기
GM/IM이 한 번의 실행으로 여러 크기의 엄지 손가락을 만들어 다른 미리보기 이미지를 만들 때 동일한 이미지를 반복해서로드하지 않도록하여 스크립트 실행시 메모리와 시간을 절약 할 수 있는지 궁금합니다.
저는 현재 Bash 용 셸 스크립트를 작성 중입니다. 대용량 이미지의 크기가 다른 경우 다른 크기의 축소판을 만듭니다.ImageMagick/GraphicsMagick에서 여러 축소판 만들기
GM/IM이 한 번의 실행으로 여러 크기의 엄지 손가락을 만들어 다른 미리보기 이미지를 만들 때 동일한 이미지를 반복해서로드하지 않도록하여 스크립트 실행시 메모리와 시간을 절약 할 수 있는지 궁금합니다.
당신은 ImageMagick Perl bindings 함께 할 수있는, 또는 당신의 선택의 다른 언어로 바인딩 :
#!/usr/bin/perl
use Image::Magick;
my($image, $x);
$image = Image::Magick->new;
$x = $image->Read('sars.png');
warn "$x" if "$x";
$x = $image->Resize(geometry=>'600x600');
warn "$x" if "$x";
$x = $image->Write('x.png');
warn "$x" if "$x";
$x = $image->Resize(geometry=>'400x400');
warn "$x" if "$x";
$x = $image->Write('y.png');
warn "$x" if "$x";
$x = $image->Resize(geometry=>'100x100');
warn "$x" if "$x";
$x = $image->Write('z.png');
warn "$x" if "$x";
conjure 명령은 XML 형식의 마법 (magick) 스크립팅 언어 지원하지만 펄보다는 내 눈에 힘들어 버전이며, Perl 바인딩에 대한 문서가 확실히 좋습니다.
this post에 따르면 GraphicsMagick과 함께 -write filename
을 사용하여 "지정된 파일 이름에 현재 이미지를 쓰고 나서 계속해서 한 번만 원본 이미지를 읽는 동안 다양한 작은 크기를 생성 할 수 있습니다".