### ?? 報表
a)????????什么是報表
報表就是用表格、圖表等格式來動態顯示數據。
b)????????PHP繪圖坐標系
1、? 坐標系介紹
下圖說明了PHP坐標系。坐標原點位于左上角,以像素為單位,像素是計算機屏幕上最小的顯示單位,看下圖:
###

2、? 坐標體系--像素
“像素”(Pixel)是由 Picture([圖像](http://baike.baidu.com/view/42116.htm))和 Element(元素)這兩個單詞的字母所組成的,是用來計算[數碼影像](http://baike.baidu.com/view/342238.htm)的一種單位,如同攝影的相片一樣,數碼影像也具有連續性的濃淡階調,我們若把影像放大數倍,會發現這些連續色調其實是由許多色彩相近的小方點所組成,這些小方點就是構成影像的最小單位“像素”(Pixel)。這種最小的圖形的單元能在屏幕上顯示通常是單個的染色點。越高位的像素,其擁有的色板也就越豐富,越能表達顏色的真實感。
c)????????PHP繪圖技術
1、? PHP繪圖的基本原理和步驟
創建畫布
繪制需要的各種圖像(Gd庫提供繪圖函數)
輸出圖像到網頁,也可以另存為
銷毀圖片(釋放內存)
目前網站開發的創建圖片格式GIF Jpg/JPEG Ping Bmp。。
總結:
GIF:圖片壓縮率高,但是只能顯示256色,可能造成色彩丟失。可以顯示動畫圖片。
Jpg/JPEG:圖片壓縮率高(有損壓縮),可以用較小的文件來顯示,王爺上用的比較多。
Ping:該格式綜合了上面2種優勢,缺點是不能顯示動畫。高保真(色彩丟失少。
2、 ? 基本繪圖函數介紹
~~~
<?php
//PHP繪圖技術,
//phpinfo();
//創建畫布,默認的背景是黑色的
$im=imagecreatetruecolor(400, 300);
//繪制各種需要的圖形(圓,直線,
$red=imagecolorallocate($im, 255, 0, 0);
//圓
// imageellipse($im, 20, 20, 20, 20, $red);
//直線
imageline($im, 0, 0, 400, 300, $red);
//矩形
imagerectangle($im, 1, 1, 200, 100, $red);
//填充矩形
// imagefilledrectangle($im, 2, 2, 40, 50, $red);
//弧線
// imagearc($im, 100, 100, 50, 100, 0, 180, $red);
//扇形
//imagefilledarc($im, 100, 100, 50, 100, 0, 180, $red, IMG_ARC_PIE);
//拷貝圖片到畫布
//1,加載原圖片
// $srcImage = imagecreatefromgif("1.GIF");
//獲得圖片信息
//$srcImageInfo=getimagesize("1.GIF");
//2,拷貝元圖片到畫布
// imagecopy($im, $srcImage, 0, 0, 0, 0, $srcImageInfo[0], $srcImageInfo[1]);
//寫字(不支持中文
imagestring($im, 5, 0, 0, "I LOVE YOU 1 2 3", $red);
//寫中文需要用到下面的函數
// imagettftext($im, 20, 0, 100, 100, $red, "'arial.ttf","我愛你" );
//輸出圖像到網頁,也可以另存
header("Content-type: image/gif");
imagegif($im);
//銷毀圖片,釋放內存
imagedestroy($im);
?>
~~~
看下面的餅圖,是實現代碼:

~~~
<?php
//分析思路(先畫扇形)
//1畫布
$im=imagecreatetruecolor(400, 300);
//默認是黑色背景
$white = imagecolorallocate($im, 255,255, 255);
imagefill($im, 0, 0, $white);
//2畫出扇形
//創建三個顏色
$red=imagecolorallocate($im, 254, 0, 0);
$darkred=imagecolorallocate($im, 144, 0, 0);
$green=imagecolorallocate($im, 0, 0, 128);
$darkgreen=imagecolorallocate($im, 0, 0, 80);
$gray=imagecolorallocate($im, 192, 192, 192);
$darkgray=imagecolorallocate($im, 144, 144, 144);
for($i=60;$i>=50;$i--){/*暗色*/
imagefilledarc($im, 100, $i, 150, 100, 0, 35, $darkgray, IMG_ARC_PIE);
imagefilledarc($im, 100, $i, 150, 100, 35, 75, $darkgreen, IMG_ARC_PIE);
imagefilledarc($im, 100, $i, 150, 100, 75, 360, $darkred, IMG_ARC_PIE);
}
//頂部 亮色
imagefilledarc($im, 100, 50, 150, 100, 0, 35, $gray, IMG_ARC_PIE);
imagefilledarc($im, 100, 50, 150, 100, 35, 75, $green, IMG_ARC_PIE);
imagefilledarc($im, 100, 50, 150, 100, 75, 360, $red, IMG_ARC_PIE);
//輸出圖像到網頁,也可以另存
header("Content-type: image/gif");
imagegif($im);
// 銷毀圖片,釋放內存
imagedestroy($im);
~~~
- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP開發環境配置說明
- PHP基礎數據類型及運算符介紹
- 走進PHP函數
- 走進位運算
- 走進數組及相關數組函數
- 面向對象的編程(類與對象)
- 面向對象的編程(類成員方法用法)
- 構造方法,析構方法
- static,global用法
- 靜態方法
- 面向對象的編程方法
- 接口方法
- 接口VS繼承、final、const
- 錯誤及異常處理機制、錯誤日志
- HTTP協議深度剖析
- 文件下載
- PHP數據庫編程
- 數據庫編程(2)
- 超全局變量
- Zend studio 開發環境入門
- 雇員管理系統(1)
- 雇員管理系統(2)
- 會話技術(cookie session)
- 會話技術 session場景使用介紹!
- PHP.in中session和cookie的配置說明
- PHP文件編程
- 報表及繪圖技術
- 報表及繪圖技術(jpgraph庫使用,Linux安裝及配置說明)
- XML基本語法及DTD介紹
- XML編程(Dom技術)
- XML編程(Xpath技術,simpleXml技術)基礎入門
- 網上支付平臺PHP版本
- javascript基礎入門