程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 說說PHP作圖(三)

說說PHP作圖(三)

編輯:PHP綜合

上次說到用GD作各種幾何圖形,以及填充顏色。其中故意把這樣一個較復雜的情況留到後面,這就是任意多邊形和任意多邊形的填充顏色。

<?
 Header("Content-type: image/png");
 $im = ImageCreate (200, 100);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_grn = ImageColorAllocate($im, 0,255,0);
 $parray = array(40,10,60,10,70,20,60,50,40,50,30,20);
 // 定義一個數組,12個成員是6個點的橫縱坐標。
 ImagePolygon($im,$parray,6,$col_grn);
 // 這就是繪制任意多邊形的函數,$parray是剛才定義的數組,6表示六個點。注意六個點連成的是六邊形。
 // 不必人為地為了閉合圖形而在最後增加一個與第一點相同的點。
 ImagePNG($im);
 ImageDestroy($im); 
?>

你應該已經想到了,任意多邊形填充顏色的函數:

<?
 Header("Content-type: image/png");
 $im = ImageCreate (200, 100);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $col_yel = ImageColorAllocate($im, 255,255,0);
 $col_red = ImageColorAllocate($im, 255,0,0);
 $col_grn = ImageColorAllocate($im, 0,255,0);
 $col_blu = ImageColorAllocate($im, 0,0,255);
 $parray = array(40,10,60,10,70,20,60,50,40,50,30,20);
 ImageFilledPolygon($im,$parray,6,$col_grn);
 ImagePNG($im);
 ImageDestroy($im); 
?>

嗯。下面我們可以在圖象上寫字了。不過,先別高興,要想寫漢字還得費一些麻煩。這個以後再逐漸解釋。先看看怎麼簡單地寫西文字符吧。

<?
 Header("Content-type: image/png");
 $im = ImageCreate (200, 250);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $str="This is a test.";
 ImageString($im,1,10,10,$str,$col_orn);
 ImageString($im,2,10,30,$str,$col_orn);
 ImageString($im,3,10,60,$str,$col_orn);
 ImageString($im,4,10,100,$str,$col_orn);
 ImageString($im,5,10,150,$str,$col_orn);
 // 這裡連續五次調用ImageString,在不同位置,
 // 分別用從小到大的字型輸出了字符串 $str。
 // ImageString 函數只支持五種字型(1~5)
 ImagePNG($im);
 ImageDestroy($im); 
?>

再看:

<?
 //Header("Content-type: image/png");
 $im = ImageCreate (200, 250);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $str="This is a test."; 
 ImageStringUp($im,1,10,180,$str,$col_orn);
 ImageStringUp($im,2,20,180,$str,$col_orn);
 ImageStringUp($im,3,40,180,$str,$col_orn);
 ImageStringUp($im,4,70,180,$str,$col_orn);
 ImageStringUp($im,5,110,180,$str,$col_orn);
 // 函數名換成了 ImageStringUp,用法不變。
 // 是輸出豎排的文字。
 ImagePNG($im);
 ImageDestroy($im); 
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved