Прозрачное изображение 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.

Другие вопросы по тегам