亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 ImageMagick 時如何修復“無法注釋圖像”錯誤?

使用 ImageMagick 時如何修復“無法注釋圖像”錯誤?

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

1 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

通過在imagemagick 論壇上發布這個問題,我能夠弄清楚。問題是我們的 ImageMagick 安裝缺少“freetype”委托,這是從字體渲染文本所必需的。



查看完整回答
反對 回復 2021-07-02
  • 1 回答
  • 0 關注
  • 211 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號