Использование Perl + Image :: Magick: как собрать несколько областей в одном изображении в новое изображение? - PullRequest
3 голосов
/ 25 февраля 2010

Я новичок в ImageMagick и не выяснил, как собрать несколько областей в новое изображение. Например, я знаю «геометрию» слов «привет» и «мир» соответственно в изображении, что мне нужно сделать состоит в том, чтобы извлечь слова изображения и поместить затем в одну строку изображения, сохраняя при этом их относительные позиции.

Вопрос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 ...

Вопрос2: в настоящее время я знаю только, как обрезать изображение слова из исходного, а затем метод Clone (). восстановить исходное изображение. Есть ли способ скопировать, а не обрезать определенную область изображения? Сюда Можно сэкономить время, чтобы скопировать туда и обратно все изображение несколько раз.

Кто-нибудь знает, как написать такую ​​обработку? Я ценю вашу помощь и предложения!

-Jin

1 Ответ

1 голос
/ 04 апреля 2012

По звукам вещей Image :: Magick - не тот инструмент, который подходит для вашей задачи. Image :: Magick, как правило, предназначен для манипулирования всем изображением - фильтрации, масштабирования, преобразования между форматами и т. Д.

Рассмотрим модуль GD , который может выполнять практически любые операции рисования, которые вам понадобятся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...