多くの人は、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-----
新しいページ 1 ; /ヘッド>
# ################################################ # #
test.php の結果は次のようになります:
's' パラメーターはフォント サイズを設定するためのものです
これは s=18 の場合です:
注 I:
フォント パス "/fonts/" TIMES .TTF" は、windows/fonts ディレクトリから入手できます。TIMS.TTF フォント ファイルを Web サイトの fonts ディレクトリにコピーしてテストしてください。中国のパフォーマンスに関しては、ネチズンはまだ体験を提供していません。
注意してください。使用する前に、最初に黒い正方形の領域を描画しました。L メソッドは明るい背景でも 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($s)) $s=11; $text;
$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 頭>
http://www.bkjia.com/PHPjc/315865.html www.bkjia.com true http://www.bkjia.com/PHPjc/315865.html 技術記事 多くの人は、PHP が HTML 以外のデータを生成できることを知りません。これは、データベースから単純な広告の水平画像を生成したり、単純にグラフィック ボタンを生成したりするのに非常に役立ちます。