PHP 4.0 講義 PHP介紹 1 2 3 4 5 6 7 8 9 A B C D
使用PHP GD 繪圖
首先把下列繪圖程式寫到 gdraw.php 檔中, 再使用 gdraw.html檔來引用圖片 (<img src="gdraw.php" style="border:1px #000 solid;" >)<?php
$img = imagecreatetruecolor(300, 300); // create a 300*300 image $white = imagecolorallocate($img, 255, 255, 255); // allocate color $black = imagecolorallocate($img, 0, 0, 0); $red = imagecolorallocate($img, 255, 0, 0); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); $yellow= imagecolorallocate($img, 255, 255, 0); $GnBl = imagecolorallocate($img, 0, 255, 255); $pink = imagecolorallocate($img, 255, 0, 255); imagefill($img, 0, 0, $white); // image background // 畫直線(底圖, X1座標, Y1座標, X2座標, Y2座標, 顏色); //座標 採 正整數第4象限 imageline($img, 0, 0, 290, 290, $black); // 畫矩形(底圖, X1座標, Y1座標, X2座標, Y2座標, 顏色); imagerectangle($img, 10, 10, 50, 70, $yellow); // 畫空心矩形 imagefilledrectangle($img, 110, 10, 150, 70, $GnBl); // 畫實心矩形 $points1 = array(10,200, 40,190, 50,240, 35,290, 5,230); // 點座標矩陣 $points2 = array(210,200, 240,190, 250,240, 235,290, 205,230); // 畫多邊形(底圖, 點座標矩陣, 點數, 顏色); imagepolygon($img, $points1, 5, $green); // 畫空心多邊形 imagefilledpolygon($img, $points2, 5, $pink); // 畫實心多邊形 // 畫圓(底圖, X座標, Y座標, width(寬), height(高), 起始度數, 結束度數, 空心圓顏色); imagearc($img, 200, 200, 20, 30, 0, 360, $green); // 畫空心圓 imagefilledarc($img, 100, 100, 10, 10, 0, 360, $red, IMG_ARC_PIE); // 畫實心圓 // 畫文字(底圖, 大小(1~5), X座標, Y座標, 文字, 顏色); 注意:不支援中文字型 $st1="Hello!"; imagestring( $img, 5, 200, 50, $st1, $red); // 畫橫向文字 imagestringup($img, 3, 200, 250, $st1, $blue); // 畫直向文字 // 畫True Type文字(底圖, 大小, 角度, X座標, Y座標, 顏色, 字型, 文字); 注意:支援中文字型 // This function requires both the GD library and the FreeType library. // $st2="你好嗎?"; $font="simhei.ttf"; // imagettftext($img, 16, 0, 70, 150, $black, $font, $st2); // 畫圖形的頂點 及 頂點編號 $x = 250; $y=100; $st1=12345; imagearc( $img, $x, $y, 40, 20, 0, 360, $black); // 畫V1的頂點 imagestring($img, 3, $x-17, $y-7, $st1, $black); // 畫V1的點編號 // output image in the browser header("Content-type: image/png"); imagepng($img); // free memory imagedestroy($img);?>