图像干预使用具有特殊字符的文本绘制图像

问题描述 投票:0回答:1

我在Laravel 5.5中使用ImageIntervention来生成图像。

当我的文字是this is my text ♣时,呈现为方框。如何让PHP呈现正确的字符?

我的代码是这样的:

$overlay = \Image::canvas(600, 500 );
            $overlay->rotate( 2);
            $overlay->text(
                'this is my text ♣',
                $overlay->getWidth() / 2,
                $overlay->getHeight() / 2,
                function ( $font ) use ( $textData ) {
                    /** @var \Intervention\Image\Gd\Font $font */
                    $font->file( resource_path( 'assets/fonts/OpenSans-Bold.ttf' ) );
                    $font->size( 100 );
                    $font->angle( 2 );
                    $font->valign( 'center' );
                    $font->align( 'center' );
                } );

所有其余的工作正常,只是文本的呈现出错了,我不知道为什么。

我发现ImageIntervention正在这里绘制文本:https://github.com/Intervention/image/blob/master/src/Intervention/Image/Gd/Font.php#L202

所以它使用imagettftext来绘制文本。 Open Sans字体确实支持角色,所以我不认为这是问题所在。

这可能会出错?

php image laravel laravel-5
1个回答
0
投票

看看UTF-8杂项符号

你要找的是:&9827;或&-俱乐部; (没有 - )

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.