我在 FreeBSD 11.0 服务器上使用 php 7.0.19 和 ImageMagick 6.9.6-4。我将 imagemagick 用于很多事情,但我才刚刚开始使用它在我的图像上叠加文本。我遇到的问题是,每当我尝试使用 annotateImage 功能时,都会抛出一个错误,提示“无法注释图像”。我已经在 stackoverflow 上查看了很多与 annotateImage 相关的问题,并且我已经检查了文档以查看我是否可以自己解决问题,但我被卡住了。在其他 annotateImage 问题上,我看到有些人由于未安装特定字体而遇到问题,这也可能是我的问题,但我尝试将字体文件(ttf 文件)与我的脚本放在同一目录中我仍然有同样的问题。运行convert -list font返回空结果,表示没有imagemagick可以直接/默认访问的字体;但是,我认为通过将字体文件包含在与我的脚本相同的目录中,我无论如何都可以使其工作。也许这是一个错误的假设?这是我用于测试的代码:$imagick = new Imagick('originalImage.jpg');$draw = new ImagickDraw();$draw->setFillColor('#ffffff');$draw->setFont('ARIAL.TTF');$draw->setFontSize(20);$imagick->annotateImage($draw, 20, 100, 0, 'The quick fox jumps over the lazy dog');$imagick->drawImage($draw);$imagick->writeImage('finalImage.jpg');我还尝试了其他不需要原始图像的示例脚本,并收到了相同的错误。例如,此脚本产生相同的错误:$image = new Imagick();$draw = new ImagickDraw();$pixel = new ImagickPixel( 'gray' );$image->newImage(800, 75, $pixel);$draw->setFillColor('black');$draw->setFont('ARIAL.TTF');$draw->setFontSize( 30 );$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');$image->setImageFormat('png');header('Content-type: image/png');echo $image;通过这个简单的测试,我希望在我的图像顶部添加“快速的狐狸跳过懒惰的狗”,但抛出异常并且错误消息只是说:无法注释图像。关于如何解决错误的任何想法或建议?
添加回答
举报
0/150
提交
取消