ホームページ >バックエンド開発 >PHPチュートリアル >認証の文字サイズを変更する方法を教えてください

認証の文字サイズを変更する方法を教えてください

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

認証の文字サイズを変更するにはどうすればよいですか?
http://pan.baidu.com/share/link?shareid=343815&uk=1865794164 写真をアップロードできない理由がわからないので、写真を Baidu Netdisk に置きました。

上の図のように、認証の文字の大きさを変更するにはどうすればよいですか?

コードは次のとおりです:

<?php<br />
 <br />
session_start();<br />
//session_register('SafeCode');<br />
$type = 'gif';<br />
$width= 92;<br />
$height= 30;<br />
header("Content-type: image/".$type);<br />
srand((double)microtime()*1000000);<br />
$randval = randStr(4,"");<br />
if($type!='gif'&&function_exists('imagecreatetruecolor')){<br />
$im = @imagecreatetruecolor($width,$height);<br />
}else{<br />
$im = @imagecreate($width,$height);<br />
}<br />
$r = Array(225,211,255,223);<br />
$g = Array(225,236,237,215);<br />
$b = Array(225,236,166,125);<br />
$key = rand(0,3);<br />
$backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);<br />
$borderColor = ImageColorAllocate($im,0,0,0);<br />
$pointColor = ImageColorAllocate($im,255,170,255);<br />
@imagefilledrectangle($im,0,0,$width -1,$height -1,$backColor);<br />
@imagerectangle($im,0,0,$width-1,$height-1,"");<br />
$stringColor = ImageColorAllocate($im,555,51,153);<br />
for($i=0;$i<=100;$i++){<br />
$pointX = rand(2,$width-2);<br />
$pointY = rand(2,$height-2);<br />
@imagesetpixel($im,$pointX,$pointY,$pointColor);<br />
}<br />
@imagestring($im,10,10,2,$randval,$stringColor);<br />
$ImageFun='Image'.$type;<br />
$ImageFun($im);<br />
@ImageDestroy($im);<br />
$_SESSION['validationcode'] = $randval;<br />
function randStr($len=6,$format='NUMBER') {<br />
switch($format) {<br />
case 'ALL':<br />
$chars='0123456789';break;<br />
case 'CHAR':<br />
$chars='';break;<br />
case 'NUMBER':<br />
$chars='0123456789';break;<br />
default :<br />
$chars='0123456789';<br />
break;<br />
}<br />
$string="";<br />
while(strlen($string)<$len)<br />
$string.=substr($chars,(mt_rand()%strlen($chars)),1);<br />
return $string;<br />
}<br />
;echo ' ';<br />
?>


-----解決策--------------------------------
とにかくマニュアルは必ず見てください。それがあなたの行動の基本です

imagestring -- 文字列を水平方向に描画します
説明
bool imagestring (リソース画像、int font、int x、int y、string s、int col)

imagestring() は、col color を使用して、文字列 s を image で表される画像の x、y 座標に描画します (これは文字列の左上隅の座標であり、画像全体の左上隅は 0, 0 です) )。フォントが 1、2、3、4、または 5 の場合は、内蔵フォントが使用されます。


imagettftext -- TrueType フォントを使用して画像にテキストを書き込みます
説明
配列 imagettftext (リソース画像、float サイズ、float 角度、int x、int y、int color、string fontfile、string text)




画像
画像リソース。 imagecreatetruecolor() を参照してください。

サイズ
フォントサイズ。 GD のバージョンに応じて、これはピクセル サイズ (GD1) またはポイント サイズ (GD2) で指定する必要があります。

角度
角度は度で表され、テキストは左から右に読まれます。0 度です。値が大きいほど反時計回りの回転を示します。たとえば、90 度は下から上に読むテキストを意味します。

×
x、y で表される座標は、最初の文字の基点 (おそらく文字の左下隅) を定義します。これは、x、y が最初の文字の左上隅を定義する imagestring() とは異なります。たとえば、「左上」は 0, 0 です。


Y座標。文字の下部ではなく、フォントのベースラインの位置を設定します。


カラーインデックス。負のカラー インデックス値を使用すると、アンチエイリアスがオフになる効果があります。 imagecolorallocate() を参照してください。

フォントファイル
使用する TrueType フォントへのパスです。

PHP で使用される GD ライブラリによっては、fontfile が / で始まらない場合、ファイル名の末尾に .ttf が追加され、ライブラリ定義のフォント パスでファイル名の検索が試行されます。

バージョン 2.0.18 より前の GD ライブラリを使用する場合、異なるフォント ファイルの「パス区切り文字」としてセミコロンの代わりにスペース文字が使用されます。この機能を誤って使用すると、次のような警告メッセージが表示されます。 警告: フォントが見つからないか開くことができませんでした。影響を受けるバージョンの唯一の解決策は、スペースを含まないパスにフォントを移動することです。

多くの場合、フォントはスクリプトと同じディレクトリに配置されます。次のヒントにより、インクルージョンの問題を軽減できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:array_slice() と array_splice() の 2 つの関数の違いは何ですか? 突然混乱してしまいました。次の記事:array_slice() と array_splice() の 2 つの関数の違いは何ですか? 突然混乱してしまいました。

関連記事

続きを見る