将Alpha通道添加到使用PerlMagick读入的图像

时间:2015-11-09 00:33:31

标签: perl perlmagick

我正在阅读没有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文档,但我不能寻找合适的东西。有没有办法将alpha通道添加到我的$image对象?

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

1 个答案:

答案 0 :(得分:2)

Alpha通道的存在是图像的属性,需要打开:

$image->Set(alpha => 'On');