多くの人は、PHP が HTML 以外のデータを生成できることを知りません。これは、データベースから単純な広告用の水平方向の画像を生成したり、
を使用したりするのに非常に役立ちます。 TTF フォントは次の例にあります
通常は 'button.php3' という名前を付けます:
###################### # ##############################
-----button.php3------
ヘッダー("コンテンツ タイプ: 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]);
$xpad=9;
$im = imagecreate($dx$xpad,$dy $ypad);
$blue = ImageColorAllocate($) im, 0x2c,0x6D,0xAF);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255); ,0 ,$dx $xpad-1,$dy $ypad-1,$black);
ImageRectangle($im,0,0,$dx $xpad,$dy $ypad,$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);
ImageDestroy($im)
################# # #############################
このファイルには HTML タグを含めないことが非常に重要です。 タグと ?> タグの前後に空白行がある場合、このスクリプトを使用した後に不完全な画像が表示される場合は、誤って PHP タグの外側に文字を入力した可能性があります。次の構文を使用して Web ページで呼び出すことができます:
########### ### #######################################
--- -test.php- ----
🎜>
新しいページ 1 ################## ##### ##############################
test.php の結果は次のようになります:
's' パラメータはフォント サイズを設定します。
これは s=18 の場合です:
注 I:
フォント パス "/fonts/TIMES.TTF" " Windows/fonts ディレクトリから TIMS.TTF フォント ファイルを取得し、Web サイトの fonts ディレクトリにコピーしてテストできます。中国のパフォーマンスに関しては、ネチズンはまだフィードバックを提供していません。
Pay最初に黒い正方形の領域を描画し、次に白いディスプレイスメントを使用して 3D 効果を生成します。L メソッドは明るい背景でも見ることができますが、背景色を暗い色に変更しても同様の効果が得られます。
まず、PHP インストールが GD と TTF をサポートするように設定されていることを確認する必要があります。libgd.a を次の場所にコピーすることをお勧めします。 /usr/local/lib および gd*.h 関連ファイルを /usr/local/include に追加し、FreeTTF ライブラリの
'make install'
http:// で httf フォントを見つけることができます。 rover.wiesbaden.netsurf.de/~kikita/ !
注:
次のソース コードは、上記の複数行のテキスト表示を改善します:
######? ########## #####################################
-------- ------button.php------
<
Header("コンテンツ-type: image/jpeg") ;
if(!isset($bgred)) $bgred=0;
if(!isset($bggreen)) $bggreen=51;
if(!isset ($bgblue)) $bgblue= 153;
if(!isset($chred)) $chred=255;
if(!isset($chgreen)) $chgreen=255; isset($chblue)) $chblue =255;
if(!isset($shadow)) $shadow="yes";
if(!isset($wrappos)) $wrappos=20; if(!isset($crop) ) $crop=2.2;
if(!isset($jpegquality)) $jpegquality=80;
if(!isset($s)) $s=11; >$savetext=$text;
$text=wordwrap($text,$wrappos," ",0);
if (!isset($font)) $fontname="/www/ttfonts/arialbd. ttf";
else
$fontname="/www/ttfonts/".$font.".ttf";
$size = imagettfbbox($s,0,$fontname,$text);
$dx = abs($ size[2]-$size[0]);
$dy = abs($size[5]-$size[3]);
$upper=abs($サイズ[5]);
$under=$size[1];
$xpad=9; 13))>=1)
{
$mult=(substr_count($text,chr(13)));
$ypad=($mult*$crop*$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