ImageMagic注释字符代码,而不是注释图像中的字符

特雷弗·纽霍克(Trevor Newhook)

当我向ImageMagick发送中文字符串以注释图像时,将打印出字符代码。例如,代替此:

中文

我得到这个:

字符代码

下面是我的代码。显然,我的字体设置正确。当我echo $textString;在第3行时,它可以正确打印到浏览器。

    function drawText($textString,$height,$width){
  $textString = mb_convert_encoding($textString, 'UTF-8', 'BIG-5');
  echo $textString;
  $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  $filepath =  ABSPATH . "\wp-content\uploads\h5p\content\words\\".substr(str_shuffle($permitted_chars), 0, 16).".PNG";
  $image = new \Imagick();
  $draw = new \ImagickDraw();
  $pixel = new ImagickPixel('white');

  /* New image */
  $image->newImage($width, $height, $pixel);

  /* Black text */
  $draw->setFillColor('black');

  /* Font properties */
  $draw->setFont(plugin_dir_path( __FILE__ ) .'wt034.ttf');
  $draw->setFontSize( 30 );

  /* Create text */
  $image->annotateImage($draw, 10, 45, 0, $textString);

  /* Give image a format */
  $image->setImageFormat('png');
  file_put_contents($filepath,$image);
return $filepath;
琼斯

似乎$textString传递给您的函数值是HTML编码的。您的我字符串是HTML实体它们在浏览器中可以很好地呈现,但是在将它们转换为big-5之前,您需要解码为utf-8。

尝试使用html_entity_decode()进行转换。

$textString = html_entity_decode($textString, ENT_COMPAT, 'UTF-8');
$textString = mb_convert_encoding($textString, 'UTF-8', 'BIG-5');

或者,您可以尝试一步来做到这一点。

$textString = html_entity_decode($textString, ENT_COMPAT, 'BIG5');

或者,当您最终这样做时,如下所示:

$textString = html_entity_decode($textString); 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从行中删除注释的字符

来自分类Dev

在注释类中插入字符串

来自分类Dev

从C ++字符串中删除注释

来自分类Dev

从字符串中删除行注释

来自分类Dev

Matplotlib中的Unicode字符串注释

来自分类Dev

如何从字符串中删除“#”注释?

来自分类Dev

从字符串中删除行注释

来自分类Dev

从C ++字符串中删除注释

来自分类Dev

计算注释中字符数的C程序

来自分类Dev

在注释类中插入字符串

来自分类Dev

excel如何统计注释中的字符数?

来自分类Dev

为什么使用#而不是注释而不是注释。以下代码中的元素?

来自分类Dev

如何在Visual Studio代码中自定义注释块字符?

来自分类Dev

防止 str_replace 注释字符串中的 php 代码

来自分类Dev

用源代码注释Python函数调用的字符串

来自分类Dev

XML注释无效:字符无效

来自分类Dev

无效的XML注释:字符无效

来自分类Dev

从C#中的字符串中删除注释块<!-->

来自分类Dev

忽略字符串中m文件中的注释符号(%)

来自分类Dev

行注释字符“#”与Shell脚本中实际注释的开始之间的空格

来自分类Dev

注释代码中的Python Regex

来自分类Dev

使用注释中无法映射的字符构建项目?

来自分类Dev

如何在VS Code中自定义注释字符?

来自分类Dev

为什么双连字符在HTML注释中无效?

来自分类Dev

如何从不扩展注释和字符串中的Yasnippet

来自分类Dev

在MySQL中存储注释和特殊字符或RTF

来自分类Dev

匹配注释,但不包含在字符串中

来自分类Dev

如何从不扩展注释和字符串中的Yasnippet

来自分类Dev

Grep字符串仅在未注释的行中