ホームページ >バックエンド開発 >PHPチュートリアル >imagettftext を使用して画像の下に文字を入力しますが、ブラウザでは画像を生成できません

imagettftext を使用して画像の下に文字を入力しますが、ブラウザでは画像を生成できません

WBOY
WBOYオリジナル
2016-06-13 12:59:161402ブラウズ

imagettftext を使用して画像上に文字を入力しますが、ブラウザで画像を生成できません
imagettftext 関数は画像上に中国語の文字列を書き込みますが、ブラウザで画像を出力できません imagepng($im,' を使用します) x.png '); 画像を出力することはできますが、ブラウザに直接出力すると機能しません。専門家に相談してください。以下の私のコード

<br />
<?php<br />
Header('Content-type: image/png');<br />
putenv('GDFONTPATH=C:\WINDOWS\Fonts');<br />
$button_text='Button按钮';<br />
$button_text=$button_text.rand(30, 50);<br />
$im=imagecreatetruecolor(400, 200);<br />
$black=imagecolorallocate($im, 0, 0, 0);<br />
$white=imagecolorallocate($im, 255, 255, 255);<br />
imagefill($im, 0, 0, $black);<br />
imagettftext($im,30,30, 0,150, $white,'MSYH.TTF', $button_text);<br />
imagepng($im);//使用imagepng($im,'x.png');可以生成x.png,图片也有文字。<br />
imagedestroy($im);<br />
?><br />

-----解決策---------

引用:
引用:

引用:

エラーメッセージは出ず、ブラウザは真っ白ですが、IEブラウザを使用すると文字化けが発生します。 imagettftext の代わりに imagestring を使用しようとしましたが、中国語の文字を削除したい場合は、出力は正常になります...


imagestring は漢字をサポートしていません。 imagettftext のみを使用できます。文字化けしている場合は、画像が生成される前に損失がある可能性があります。

UTF-8 には 2 つの形式があり、1 つは BOM 形式のない UTF-8 で、もう 1 つは BOM ヘッダーから BOM ヘッダーなし形式に変更されます
-----解決策--- ------ ------------
引用:
私の imagettftext 関数は画像に中国語の文字列を書き込みますが、画像を書き込むことはできません。ブラウザで出力します。imagepng($im,'x.png'); を使用して x.png を生成します。画像にはテキストも含まれます。

これは、BOM ヘッダーが付いた単なるプログラム ファイルです。削除するだけです
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。