2010-02-25 2 views
3

ImageMagick을 처음 접했고 여러 영역을 새로운 이미지로 어셈블하는 방법을 찾지 못했습니다. 예 : 이미지에서 각각 "hello"와 "world"의 "지오 메트릭"을 알고 있는데, 내가해야 할 일은 입니다. 단어 이미지를 검색하고 한 위치에 이미지를 저장 한 다음 상대 위치를 유지하는 것입니다.Perl + Image :: Magick 사용법 : 하나의 이미지에서 여러 영역을 새로운 이미지로 어셈블하는 방법?

질문 1 : Perl API를 사용한다고 가정합니다. 어떻게하면 Composite() 또는 다른 올바른 방법을 사용해야합니까?

my $geom = sprintf('%dx%x+%d+%d', $word->{width}, $word->{height}, $offsetx, $offsety); 
$x = $lineimg->Composite($wordimg, $geom); 
warn "$x" if "$x"; 

$ lineimg의 크기가 모든 단어 이미지를 저장할만큼 충분히 커서 지오메트리가 계산되었다고 가정합니다. 이 코드는 ImageMagick이가 불만을 밖으로 제공 :

Exception 410: composite image required `Image::Magick' @ Magick.xs/XS_Image__Magick_Mogrify/7790 ... 

Question2 : 현재 나는 단지 원래의에서 단어의 이미지를 자르려면 다음 복제() 메소드 는 원본 이미지를 복원하는 방법을 알고있다. 이미지에서 특정 영역을 자르지 않고 복사하는 방법이 있습니까? 이렇게하면 은 전체 이미지를 여러 번 앞뒤로 복사하는 시간을 절약 할 수 있습니다.

아무도 이런 종류의 처리를 작성하는 방법을 알고 있습니까? 모든 도움과 제안에 감사드립니다! 가지 이미지의 소리 : 마법 (magick)은 귀하의 작업에 적합한 도구가 아닙니다에서

+3

왜 "$"if $ x "warn?"에 $ x 주위에 따옴표를 넣고 있습니까? 그렇게 할 필요가 없습니다. – Ether

+2

Stackoverflow를 사용하면 질문에 이미지를 삽입 할 수 있습니다. 그것은 우리가 당신이 무엇을 시작하고 무엇을 끝내고 싶은지를 알 수 있도록 도와줍니다. 그리고 항상 그렇듯이 문제를 일으키는 최소한의 작업 프로그램과 입력은 격리 된 스 니펫보다 훨씬 유용합니다. –

답변

1

-Jin

. Image :: Magick은 일반적으로 전체 이미지 필터링, 크기 조절, 형식 간 변환 등을 처리합니다.

GD module을 사용하면 필요한 드로잉 작업을 수행 할 수 있습니다.

관련 문제