$qrcode = QrCode::format('png')->size(300)->generate('Make me into an QrCode!'); $image = Image::make($qrcode)->resize(300,300) ->text('二维码图片', 150, 270, function($font) { $font->file('msyh.ttf'); $font->size(20); $font->color('#66FF99'); $font->align('center'); $font->valign('top'); })->save('aaa.png');
图片中写入中文字符串会出现错误:
ErrorException (E_WARNING) imagettfbbox(): any2eucjp(): invalid code in input string搜索问题,都是说
重新编译PHP,取消–enable-gd-jis-conv这个参数。
PHPinfo后,发现确实存在此参数,去掉重新编译,还是未解决问题。
最终的解决方案是自定义了辅助函数:
function to_unicode($string) { $str = mb_convert_encoding($string, 'UCS-2', 'UTF-8'); $arrstr = str_split($str, 2); $unistr = ''; foreach ($arrstr as $n) { $dec = hexdec(bin2hex($n)); $unistr .= '&#' . $dec . ';'; } return $unistr; }
将输入的字符串转换下,问题得到解决。
Comments (0)