我在 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;通過這個簡單的測試,我希望在我的圖像頂部添加“快速的狐貍跳過懶惰的狗”,但拋出異常并且錯誤消息只是說:無法注釋圖像。關于如何解決錯誤的任何想法或建議?
使用 ImageMagick 時如何修復“無法注釋圖像”錯誤?
慕無忌1623718
2021-06-30 22:57:18