MySQLデータベースを使用していくつかのフォントを保存しています。カスタムフォントファミリテキストを使用して画像を作成する必要があります。私はSplTempFileObjectを使用してsetFontメソッドを処理していますが、imagickの内容は次のとおりです。
Fatal error: Uncaught exception 'ImagickDrawException' with message 'The given font is not found in the ImageMagick configuration and the file ($_SERVER['DOCUMENT_ROOT]php:/temp) is not accessible'
(もちろん、$ _ SERVER ['DOCUMENT_ROOT']は実際の値であり、置き換えただけです):)
解決策はありますか、それともファイルシステムにフォントを保存する必要がありますか?
コードは次のとおりです。
$image = new \Imagick();
$draw = new \ImagickDraw();
$temp = new \SplTempFileObject();
$temp->fwrite($font->getFile()->getContent());
$image->newImage(550, 50, "black");
$draw->setFont($temp);
$fontはDBからのデータです。問題は、ImagickDraw :: setFont()がDOCROOTを基準にしてフォントを検索するためだと思います。