많은 사람들이 PHP가 HTML이 아닌 데이터를 생성할 수 있다는 사실을 모릅니다. 이는 이미지 생성에 매우 유용합니다. 데이터베이스에서 간단한 광고 가로 이미지를 생성하거나 간단히 그래픽 버튼을 생성할 수 있습니다.
저는 In에서 TTF 글꼴을 사용합니다. 다음 예는
보통 'button.php3'으로 이름을 지정합니다.
########################## ## ####################
------button.php3------
<
헤더( "콘텐츠 유형: 이미지/gif");
if(!isset($s)) $s=11
$size = imagettfbbox($s,0,"fonts/TIMES.TTF ",$ 텍스트);
$dx = abs($size[2]-$size[0])
$dy = abs($size[5]-$size[3])
$xpad =9;
$ypad=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)
ImageRectangle($im,0,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 태그 외부에 문자를 입력했을 수 있음을 의미합니다.
이 스크립트를 사용하면 위 스크립트를 사용할 수 있습니다. 구문 호출:
################### # ############################
----test.php------
< html>
새 페이지 1 >
##########################################
test.php의 결과는 다음과 같습니다.
's' 매개변수는 글꼴 크기를 설정하는 것입니다.
s=18인 경우:
참고 I:
글꼴 경로 "/fonts /TIMES.TTF" TIMS.TTF 글꼴 파일은 windows/fonts 디렉토리에서 얻을 수 있습니다. 웹사이트의 글꼴 디렉토리에 복사하여 테스트해 보세요. 중국어 성능은 아직 보지 못했습니다. 네티즌 경험을 제공했습니다
먼저 검은색 사각형 영역을 그린 다음 흰색 변위를 사용하여 3D 효과를 생성했습니다. 밝은 배경에서도 볼 수 있지만 배경색을 어두운 색으로 변경하면 이를 볼 수 있습니다. 효과. 모델도 동일한 효과를 적용하여 3차원 효과를 보여줍니다.
먼저 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----
<
헤더("콘텐츠 유형: 이미지/ 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
if(!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; text;
$text=wordwrap( $text,$wrappos," ",0)
if (!isset($font)) $f/www/ttfonts/arialbd.ttf";
else
$f/www/ttfonts/ ".$font.".ttf";
$size = imagettfbbox($s,0,$fontname,$text);
$dx = abs($size [2]-$size[0]) ;
$dy = abs($size[5]-$size[3])
$upper=abs($size[5])
$under=$size[1];
$th=$upper-$under;
$xpad=9
if (substr_count($text,chr(13))>=1) 🎜>{
$mult=( substr_count($text,chr(13)))
$ypad=($mult*$crop*$s)
}
그렇지 않으면 $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);
이미지파괴($im);
?>
########################################### ########
这可以下面这个 형식 来产生:
########################## #########################
------------test.php------ -------------
<머리>
새 페이지 1 <본문>