我如何使用这个 unicode 符号 - ⓘ - 与 Imagick 一起注释图像?

How can I use this unicode symbol - ⓘ - with Imagick to annotate to an image?

我正在尝试使用 Imagick 将此 unicode 符号 ⓘ (\u24D8) 注释到图像中..到目前为止没有成功..

我试过这个:

$info = new ImagickDraw();
$info->setFontSize(18);
$info->setTextEncoding('UTF-8');
$iSym1 = "ⓘ";
$iSym2 = mb_convert_encoding($iSym1, 'UTF-8', 'GB18030');

$pass = new Imagick();
$pass->newImage($passFrontX, $passFrontY, $passFrontBG);
$pass->setImageFormat('png');
$pass->annotateImage($info, 293, 440, 0, utf8_decode($iSym2));

我试过 utf8_decode ..

知道是否可以使用 Imagick 将此类符号注释到图像中吗?

您需要使用包含该字符的字体。您不需要使用您尝试过的任何编码内容。

我下载了字体 "Arial Unicode MS" 并使用下面的代码,我得到了这张图片:

$draw = new ImagickDraw();
$draw->setFontSize(36);
$draw->setTextEncoding('UTF-8');
$draw->setFillColor('white');

$draw->setFont(realpath("./arial-unicode-ms.ttf"));

$imagick = new Imagick();
$imagick->newImage(300, 150, "blue");
$imagick->setImageFormat('png');
$imagick->annotateImage($draw, 50, 75, 0, "chars: ⓘ⒌⒝");
$imagick->drawImage($draw);
$imagick->writeImage("./fontTest.png");