4

これは、画像を作成するためにたどっているリンクですが、最初の例でテストしたように、私の GD はインストールされ、正しく動作していますが、このコードは壊れており、「エラーが含まれているため画像を表示できません」というフラグが立てられます。

コード-

<?php
//phpinfo();

//Report any errors
ini_set("display_errors", "1");
error_reporting(E_ALL); 

//Set the content type
header('content-type: image/png');

//Create our basic image stream 300x300 pixels
$image = imagecreate(300, 300);
//$image = imagecreatetruecolor(300, 300);
//Set up some colors, use a dark gray as the background color
$dark_grey = imagecolorallocate($image, 102, 102, 102);
$white = imagecolorallocate($image, 255, 255, 255);

//Set the path to our true type font 
//$font_path = 'advent_light';
//$font_path = 'advent_light.ttf';
//$font_path = 'arial';
$font_path = 'arial.ttf';

//Set our text string 
$string = 'Swapnesh!';

//Write our text to the existing image.
imagettftext($image, 50, 0, 10, 160, $white, $font_path, $string);

//Create our final image 
imagepng($image);

//Clear up memory 
imagedestroy($image);
?>

私が試してググったが解決策がないことは次のとおりです-:(

  • php タグの前に空白スペースがある場合は、それをチェックしました。
  • header()メソッドの前にあるすべてのコードとスペースを削除します。
  • コード内のコメントのように、 imagecreate ()imagecreatetruecolor( ) に変更しました。
  • font_path を確認し、コメントに従ってフォントパスを設定しました。
  • これこれをフォローしました。

私の PHP バージョン - PHP バージョン 5.3.8

まだ問題を特定できません:(

ここに画像の説明を入力

エラー

エラー

編集-

バージョン 1.0

これは私が節約しているものです。

ここに画像の説明を入力

画像に関する詳細情報 --

ここに画像の説明を入力

ページの保存時 -- これはファイル保存の名前です -- create_png.php.png

バージョン 1.1

<br />
<b>Warning</b>:  imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Invalid font filename in <b>C:\xampp\htdocs\Core\CoreFiles\create_png.php</b> on line <b>20</b><br />
<br />
<b>Warning</b>:  imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Invalid font filename in <b>C:\xampp\htdocs\Core\CoreFiles\create_png.php</b> on line <b>23</b><br />

とのおかげ@cryptic@user1711126

解決策--

フォント ファイルが実際にはありません。.ttf ファイルをフォルダーの下に配置して、このコードを機能させるか、パスを設定して機能させる必要があります。

4

3 に答える 3

4

エラーが発生した画像ファイルを保存し、メモ帳などのテキスト エディターで開き、その中に PHP エラーがないかどうかを確認します。エラーが発生してテキストを出力すると、ファイルが破損します。それを行うと、エラーが何であるかがわかります。

于 2012-12-26T05:27:10.780 に答える
2

私はあなたのフォントパスを真剣に疑っています。同じディレクトリにあるフォントとファイルを再確認してください。そうであれば、次のようにパスを変更してください。

$font_path = './arial.ttf';

編集 (チャットでの議論に従って)

imagettftext() 関数を使用するには ttf ファイルが必要です ファイルが存在するフォルダーに arial.ttf ファイルを配置します

于 2012-12-26T05:53:02.013 に答える
2

@crypticは正しいと思います。フォントの使用に実際のパスを使用する必要があります

$font_path = basename(dirname(__FILE__)).'/arial.ttf'; 

フォントがディレクトリに存在することを確認してください。

于 2012-12-26T06:00:26.413 に答える