2

我正在阅读没有 Alpha 通道的图像:

my $image = Image::Magick->new;
$image->Read("./noalpha.png");

然后尝试将某些像素设置为不同的颜色/alpha 值:

my @color = ( 0.2, 0.4, 0.6, $alpha );
$image->SetPixel( x=>$X, y=>$Y, channel=>'RGBA', normalize=>'True', color => \@color);

但除非起始图像文件已经有一个 alpha 通道,否则我编写的文件是:

$image->Write('out.png');

不包含 Alpha 通道。

我一直在阅读 PerlMagick 文档,但我一定不是在寻找正确的东西。有没有办法为我的$image对象添加 Alpha 通道?

我是否需要创建一个具有原始图像大小的新图像对象并将所有内容重新写入该对象?

4

1 回答 1

2

alpha通道的存在是图像的一个属性,需要开启:

$image->Set(alpha => 'On');
于 2015-11-09T03:36:39.477 回答