0

Image :: Magicを使用して画像に透かしを追加しようとしていますが、ボットはこのエラーが発生し続けます

Can't call method "Read" on an undefined value at ImageUploader.pl line xxx.

魔女は:

$Logo->Read('../Data/Images/Watermark.png');

以下のコードでは、パスが正しく、ファイルが存在することを理解できません。

何か案は?

use Image::Magick;

my $NewImage = Image::Magick->new;
$NewImage->Read("../Data/Temp/Images/$SaveAs$Extension");

my ($Width,$Height) = $NewImage->Get('width','height'); # find dimensions

my $ResizedWidth = 275;
my $ResizedHeight = 450;

my $MeduimThumbnailWidth = 300;
my $MeduimThumbnailHeight = 300;


if($Height >= $ResizedHeight){
my $ResizedHeight = int($Height * ($ResizedWidth / $Width));

$Logo->Read('../Data/Images/Watermark.png');
$NewImage->Composite(compose=>'blend', blend=>'50x50', x=>'50', y=>'50', image=>$Logo,);

$NewImage->Resize(width=>$ResizedWidth, height=>$ResizedHeight);
$NewImage->Write("../Data/Images/$URL/$SaveAs\_lrg$Extension");
}else{
$NewImage->Write("../Data/Images/$URL/$SaveAs\_lrg$Extension");
}
4

1 に答える 1

3

$Logo値を割り当てないため、未定義です。

おそらくあなたが欠けている:

my $Logo = Image::Magick->new();

あなたも行方不明です:

use strict;
use warnings;

…これは、最近のすべての Perl プログラムに表示されるはずです。

于 2012-09-27T15:35:30.683 に答える