Perl - Как мне изменить размер и аннотировать с помощью Image :: Magick «системный» вызов? - PullRequest
0 голосов
/ 05 декабря 2010
Image::Magick

system("convert $imageurl $new");
system("convert $new -geometry 480x360 -blur .8 -quality 100 $new");

и

system("convert $imageurl $new");
system("convert $new -resize 480x360 -blur .8 -quality 100 $new");

Оба вышеперечисленных прекрасно работают, но я не вижу видимого различия между геометрией и изменением размера.Читайте об этом, над моей головой, это работает так, я буду учиться, как я иду сюда.

Для комментирования, ниже работает отлично:

my $image;
my $test_text="testies123"; 
$image=Image::Magick->new;
my $x=$image->Read(filename=>"$new");
$x=$image->Annotate(text=>"$test_text",font=>'Candice.ttf',fill=>'#5BADFF',pointsize=>'14',gravity=>'SouthEast', x=>5, y=>5);
$x=$image->Write(filename=>'new_file.jpg'); undef $image;

($ vars вышепримеры были явно объявлены ранее.)

Я пытаюсь объединить все это в одну более короткую процедуру.

Например:

system("convert $new -geometry 480x360 -blur .8 -quality 100 -annotate -text testies123 -font Candice -fill blue -pointsize 14  -gravity SouthEast -x 5 -y 5 $new");

Я пробовал несколько вариантовиз вышесказанного, а также просто пытался аннотировать через system (), но я просто не могу понять это.

Возможно, есть даже лучший способ все вместе?Заранее благодарим за то, что научили эту старую собаку еще одному трюку.

1 Ответ

1 голос
/ 16 марта 2011

Вы можете прочитать документацию, чтобы очистить аргументы опции -annotate http://www.imagemagick.org/script/command-line-options.php#annotate

system("convert $new -geometry 480x360 -blur .8 -quality 100 -font Candice -fill blue -pointsize 14  -gravity SouthEast -annotate +5+5 testies123 $new")
...