imagick 中的表情符号支持

Emoji support in imagick

我想在图像中打印从 facebook/instagram 导入的字幕并保存。我想使用带有 php 的 imagick 库来执行此操作,因为我正在使用 imagick 创建基本图像。普通文本可以正确打印,但导入的表情符号不会打印为表情符号。谁能建议如何使用 imagick 打印表情符号。

我尝试过的:

$eachpageimg = new Imagick ();
$eachpageimg->setResolution ( 300 , 300 );
$eachpageimg->newImage (1050, 1260 , 'rgb(255,255,255)');
$eachpageimg->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$eachpageimg->setImageFormat ('jpeg');
$eachpageimg->setImageCompressionQuality(100);

$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'rgb(255, 255, 255)' );
$pixel->setColorValue(Imagick::COLOR_ALPHA, .8);

$draw->setStrokeColor('rgb(0,0,0)');
$draw->setFillColor ('rgb(0,0,0)');

$draw->setFont ("ROBOTO-REGULAR");

$draw->setFontSize (70);
$xpos = 10;
$ypos = 200;
$eachpageimg->annotateImage($draw, $xpos, $ypos, 0, "Gshdh😚😎😑😚🤠");

$filename = 'saved.jpg';
// SAVE FINAL page image
file_put_contents ($filename, $eachpageimg); 

您使用的字体需要包含表情符号。这可以通过使用该字体集编辑单词或网页来检查。

但是:

"Gshdh😚😎😑😚🤠"

那些看起来很像乱七八糟的字符集,而不是表情符号。我强烈怀疑您在不支持表情符号(即大多数 non-UTF)字符集的字符集中保存了一些数据。

确切的发生地点需要您自己去发现。