我有这个代码。它应该是一个透明的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调用系统命令来使其透明(并且没有黑色遮罩)?
答案 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上。