2

テキストにフォントを使用しようとするまでは、完璧に機能します。

これは私のコードです..現在コメントされている3er行は正常に動作するものです...しかし、この例では、この行をimagettftextに置き換えようとしています..運が悪い.

私のエラーは何ですか?

$newImage = imagecreatefromjpeg( "orsil_secure.jpg" ); 

$txtColor = imagecolorallocate($newImage, 0, 0, 0); 

//imagestring($newImage, 5, 10, 27, $ranStr,  $txtColor); 

imagettftext($newImage, 5, 10, 27, $txtColor, $font_path, $ranStr);

header( "Content-type: image/jpeg" ); 

imagejpeg($newImage); 

そうそう、前の行はフォントへのルートです。

// random number

$ranStr = md5(microtime()); 

$ranStr = substr($ranStr, 0, 6); 

// Set Path to Font File
  $font_path = 'captcha.TTF';
4

2 に答える 2

1

imagettftextへの呼び出しに間違ったパラメーターがあるようです。

おそらく、5 は で使用されているフォントに対応してimagestringいますが、 にはその場所がありませんimagettftext。サイズと角度も指定する必要があります。

例えば:

imagettftext($newImage, 12, 45, 10, 27, $txtColor, $font_path, $ranStr);
                        ^^  ^^
                        ||  ||
                        ||   ------ angle
                        ----------- size

この例では:

GD1 と GD2 のどちらを使用しているかに応じて、size=12px または 12pt

角度 = 45°

明らかに、ここで独自の値を使用する必要があります。

それでも機能しない場合は、フォント ファイルへのパスが間違っている可能性があります。PHP スクリプトと同じフォルダーにあるかどうかを確認します。

于 2013-07-27T17:25:23.563 に答える