透明的PNG imagemagick passthru

时间:2012-03-10 20:53:54

标签: php imagemagick transparency

我有这个代码。它应该是一个透明的PNG,但它的输出是黑色背景PNG。在CentOS上。

<?php
header( 'Content-Type: image/png' );
passthru("convert -background transparent -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png:-");
?>

这在ubuntu终端上完美无缺:

convert -background transparent -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png.png

那么如何通过从PHP调用系统命令来使其透明(并且没有黑色遮罩)?

2 个答案:

答案 0 :(得分:0)

对于ImageMagick来说,这不是正确的透明命令:

convert -transparent <SomeColor> -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png.png

或者使用Alpha频道:

convert -alpha transparent -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png.png

答案 1 :(得分:0)

尝试使用exec()并将文件保存到磁盘,然后查看它是否是正确的图像。您可能会发现问题出在php和passthru上。