in reply to system call to ImageMagick with many parameters fails
You don't show us your surrounding Perl code, but I assume you're using something like the following:
#!/usr/bin/perl -w use strict; my $thumbNail1 = 'test_1.jpg'; my $thumbNail2 = 'test_2.jpg'; my $cmd = "convert $thumbNail1 \( +clone -threshold -1 -virtual-pixel +black -spread 10 -blur 0x3 -threshold 50% -spread 1 -blur 0x.7 \) +ma +tte -compose Copy_Opacity -composite $thumbNail2"; system($cmd) == 0 or die "Couldn't launch [$cmd]: $!/$?";
I don't have convert ready to try this, but I think you should print out $cmd to see that it is what you expect, and you should also make sure that you properly convert the shell quoting - parentheses are special for the shell and hence need to be quoted, while they are not necessary for Perl and maybe don't need to be quoted, depending on whether Perl decides to involve a shell in your system call or not (I presume it decides against it). In any case, you could try the list form of system, to make sure there is no shell involved that might mess with your command line:
my @cmd = ( 'convert, $thumbNail1 qw[( +clone -threshold -1 -virtual-pixel black -spread 10 -blur 0x3 -threshold 50% -spread 1 -blur 0x.7 ) +matte -compose Copy_Opacity -composite ], $thumbNail2 ); system(@cmd) == 0 or die "Couldn't launch [@cmd]: $!/$?";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: system call to ImageMagick with many parameters fails
by august (Initiate) on Sep 23, 2009 at 21:17 UTC | |
by Corion (Patriarch) on Sep 24, 2009 at 06:54 UTC | |
by august (Initiate) on Sep 24, 2009 at 21:22 UTC | |
by Corion (Patriarch) on Sep 25, 2009 at 06:49 UTC | |
by august (Initiate) on Sep 30, 2009 at 20:35 UTC |