最新情報
多くの人は、PHP が HTML 以外のデータを生成できることを知りません。これは、データベースから単純な広告の水平方向の画像を生成したり、単純にグラフィック ボタンを生成したりするのに非常に役立ちます。以下の例では、通常 'button.php3' という名前を付けます。
################################# #####################
-----button.php3------
Header("Content-type: image/ gif");
if(!isset($s)) $s=11;
$size = imagettfbbox($s,0,"fonts/TIMES.TTF",$text);
$dx = abs($size [2]-$size[0]);
$dy = abs($size[5]-$size[3]);
$ypad=9; $xpad,$dy+$ypad);
$blue = ImageColorAllocate($im, 0x6D,0xAF);
$white = ImageColorAllocate($im, 255,255,255);
ImageRectangle($im,0,0,$dx+$xpad-1,$dy+$ypad-1,$black); ,$white);
ImageTTFText($im, $s, 0, (int)($xpad/2)+1, $dy+(int)($ypad/2), $black, "fonts/TIMES.TTF" , $text);
ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $white, "fonts/TIMES.TTF" , $text);
ImageGif($im);
################### # ###########################
このファイルには HTML タグを含めないことが非常に重要です。空白行を含めることはできません。 および ?> タグの前後に不完全な画像が表示される場合は、PHP タグの外側に誤って文字を入力した可能性があります。
この構文では、 Web ページで呼びかけます: # ##################################
----test.php-----
新しいページ
< /head>
############################################## ##
test.php の結果は次のようになります:
's' パラメーターはフォント サイズを設定するためのものです
これは s=18 の場合です:
注 I:
フォント パス "/fonts/TIMES" .TTF" は、windows/fonts ディレクトリから取得できます。TIMS.TTF フォント ファイルを Web サイトの fonts ディレクトリにコピーしてテストします。中国のパフォーマンスに関しては、ネチズンはまだ体験を提供していません。
私が描いたことに注意してください。白いディスプレイスメントは明るい背景でも 3D 効果を生み出しますが、背景色を暗い色に変更して効果を確認することもできます。 3 次元効果を表示するには、同じ効果を確認する必要があります。PHP をインストールするときに GD と TTF をサポートする設定があることを確認する必要があります。PHP FAQ を参照してください。libgd.a を /usr/local/ にコピーすることをお勧めします。 lib および gd*.h 関連ファイルを /usr/local/include に追加し、FreeTTF ライブラリ用に 'make install' を実行します
HTML フォントは http://rover.wiesbaden.netsurf.de/~kikita/ で見つけることができます。 !
注:
次のソース コードは上記の行テキスト表示を改善します:
########################## ############## ##########
--------------button.php-------- ---------
Header("Content-type: image/jpeg");
if(!isset($bgred)) $bgred=0; bggreen)) $bggreen=51;
if(!isset($bgblue)) $bgblue=153;
if(!isset($chgreen)) $chgreen =255;
if(!isset($chblue)) $chblue=255;
if(!isset($wrappos)) $wrappos=20;
if(!isset($crop)) $crop=2.2 ;
if(!isset($jpegquality)) $jpegquality=80;
$savetext=$テキスト;
$text=wordwrap($text,$wrappos, " ",0);
if (!isset($font)) $fontname="/www/ttfonts/arialbd.ttf"; "/www/ttfonts/".$font.".ttf ";
$size = imagettfbbox($s,0,$fontname,$text);
$dx = abs($size[2]-$size[0]) ]);
$dy = abs($size[5] -$size[3]);
$under=$size[1]; upper-$under;
$xpad=9;
if (substr_count($text,chr(13))>=1)
{
$mult=(substr_count($text,chr(13))); ypad=($mult*$crop*$s)+$s;
else $ypad=($crop-2)*$s;
$im = imagecreate($dx+$xpad,$th+$ypad);
$color = ImageColorAllocate($im, $bgred,$bggreen,$bgblue);
$black = ImageColorAllocate($im, 0,0,0);
$fontcolor = ImageColorAllocate($im, $chred,$chgreen,$chblue);
ImageRectangle($im,0,0,$dx+$xpad-1,$th+$ypad-1,$black);
ImageRectangle($im,0,0,$dx+$xpad,$th+$ypad,$white);
if ($shadow=="yes")
ImageTTFText($im, $s, 0, (int)($xpad/2)-2+1, $th+2+(int)($ypad/2) -3、$black、$fontname、$text);
ImageTTFText($im, $s, 0, (int)($xpad/2)-2, $th+2+(int)($ypad/2)-1-3, $fontcolor, $fontname, $text );
Imagejpeg($im,"",$jpegquality);
ImageDestroy($im);
?>
############################################## ######
これは次のフォームから作成できます:
#################################### #####################
----------test.php-------------- -----
新しいページ 1 頭>
<フォームメソッド="POST" アクション="button.php">
文字
大
区切られた位置(折り返し区切り位置)
背景色
红色
绿色
蓝色
字元颜色
红色
绿色
蓝色
字型
阴影 是
否
トリミングサイズ
Jpeg 品格 (0-100)
フォーム>
############################################## ######
または直接画像上の例の一样呼:
################################# ########################
----test.php-----
新しいページ 1 頭>