language/perl

[Perl] 이미지 편집하기

alignG 2010. 9. 13. 09:09


리눅스에서 커멘드라인 이미지 편집 프로그램으로 유명한 perlmagick의 perl모듈입니다. 여러장의 리사이징이나 편집등에 유용했던 프로그램인데요. perl 모듈을 통해 다루니 좀 더 강력하게 다룰 수 있을 듯 합니다. 간단한게 리사이징 하는 것을 보여드리고 참고할 만한 싸이트를 적어드리겟습니다.

먼저 모듈을 설치해주셔야 겠죠? 우분투의 경우에는 다음과 같이 설치하시면 편하게 설치됩니다. Cpan을 이용하셔서 설치학셔도 되구요 각자 편리한 방식으로
$ sudo aptitude install perlmagick

예제프로그램으로 이미지 리사이징을 해보겟습니다.
use Image::Magick;
#인자를 3개 받도록 체크
if(@ARGV != 3){
    print "인자를 3개 입력해 주세요(편집파일 저장파일 가로크기)\n";
    exit();
}

#객체를 생성하고 인자들을 받아 온다.
$image = Image::Magick->new;
$src_img_path = shift @ARGV; #바꿀파일
$des_img_path= shift @ARGV; #바꾸어서 저장될 파일
$width_resize  = shift @ARGV; #가로 사이즈

$image->Read($src_img_path); #이미지를 읽어 들인다.
($width, $height) = $image->Get('width', 'height'); #Get에 들어가는 인자에 따라 정보를 가져다 준다 여기선 너비와 높이
$height_resize = $height - ($width - $width_resize); #width에 따른 height를 계산
$image->Resize( #크기를 바꾼다.
            width=>$width_resize,
            height=>$height_resize
        ); 
$image->Write($des_img_path); #바꾼 이미지의 저장


초간단 심플한 예제입니다. 이 외에도 Level이라던지 잘라내기등 다양한 기능들이 있습니다. 아래의 imagemagick.org에 가시면 더 많은 정보를 확인 하실 수 있습니다.
http://www.imagemagick.org/script/perl-magick.php
반응형