Я пытаюсь аннотировать этот символ Unicode ⓘ (\ u24D8) для изображения с помощью Imagick .. пока безуспешно ..
Я пробовал это:
$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");
Других решений пока нет …