Прозрачное изображение PNG imagemagick passthru
У меня есть этот код. Он должен создать прозрачный 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 ответа
Не правильная прозрачная команда для ImageMagick это:
convert -transparent <SomeColor> -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png.png
Или использовать альфа-канал:
convert -alpha transparent -fill red -pointsize 72 -font TR.Matisse.ITC.TTF -gravity Center label:'Font Test' png.png
Попробуйте использовать exec() и сохраните файл на диск, а затем посмотрите, верный ли это образ. Вы можете найти проблему с php и passthru.