【问题标题】:Perl Image::Magic Watermark ErrorPerl Image::Magic Watermark 错误
【发布时间】:2012-09-28 07:28:35
【问题描述】:

我正在尝试使用 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");
}

【问题讨论】:

    标签: perl imagemagick cgi


    【解决方案1】:

    $Logo 未定义,因为您从未为其赋值。

    大概你不见了:

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

    你也不见了:

    use strict;
    use warnings;
    

    ...应该出现在所有现代 Perl 程序中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2022-10-13
      • 2020-03-30
      • 1970-01-01
      • 2015-03-19
      相关资源
      最近更新 更多