基本圖像處理技術
1
體理解:
1,創建(得到)一個圖像資源(resource)——它相當于一個“畫板”(畫布)
2,在該畫板上進行“繪制圖線”;
3,將該畫布輸出到網頁上顯示出來,或保存為圖片文件。
圖像處理技術,需要先到php.ini中,開啟“gd”模塊:
END
創建畫布
1
$畫布 = ImageCreate(寬, 高);//早期的低質量畫布
$畫布 = ImageCreateTrueColor(寬, 高)
$畫布 = ImageCreatefromJpeg(圖片文件路徑)
$畫布 = ImageCreatefromGif(圖片文件路徑)
$畫布 = ImageCreatefromPng(圖片文件路徑)
說明:
1,$畫布:其實就是一個變量而已;
2,前兩個函數,是“憑空”創建出一個畫布來;
3,后3個函數,是由一張顯有點圖片文件生成一個畫布,并且該畫布上就有了該圖片;
END
操作畫布:
1
所謂操作畫布,通常就是指往畫布上“畫畫”;
l 分配顏色:
相當于用來在畫布上畫畫的“筆”的顏料顏色
$顏色 = ImageColorAllocate($畫布, 紅,綠,藍);//得到“顏色對象”(不是面向對象的對象)
說明:紅,綠,藍顏色,其實就是3個rgb顏色體系的數字,都是0-255.
l 填充畫布:
ImageFill($畫布, x, y, $顏色);
含義:在該畫布上的該點(坐標為x,y)來填充該顏色;
注意:此時的填充,其實不是僅僅填該點,而是“往該點倒墨水”,他會自動充滿跟該點連續的區域
l 畫布上寫字:
ImageString($畫布, 文字大小,x,y,文字,$顏色);
說明:
文字大小:只有1-5個大小設定,5最大;
l 畫布上畫直線:
ImageLine($畫布, x1, y1,x2, y2, $顏色);
說明:在該畫布上,用該顏色,從坐標(x1,y1)到坐標(x2,y2)畫直線
l 畫布上畫矩形:
ImageRectangle($畫布, x1, y1,x2, y2, $顏色);
說明:分別表示矩形的左上角坐標和右下角坐標
l 畫布上畫橢圓弧線:
ImageArc($畫布, x, y, width, height, angle1, angle2, $顏色);
說明:
圓心坐標:(x, y)
橢圓寬度:width
橢圓高度:height
橢圓弧的起始角度:angle1,x正方向為0度。
橢圓弧的終止角度:angle2——是以順時針為方向的
END
將畫布輸出為圖片
1
方式1:
輸出畫布到獨立圖片文件,也就是相當保存(生成)一個圖片文件;
?ImagePng($畫布,'文件名');
方式2:
輸出畫布到瀏覽器并顯示:
header("content-type: image/png");
ImagePng( $畫布 )
特別注意:
1,這種情況下,該文件不能有任何其他字符輸出,自然也不能有html代碼
2,其瀏覽方式類似這樣:http://www.php44.com/day23/xxx.php ,則結果其實網頁中看到的就是一張圖片“而已”
3,實際上,這種方式的圖片顯示,通常都用于這個情形:
page1頁面中:
常用的有3個輸出為文件的函數:
imagePng($畫布,'文件名')
imageGif($畫布,'文件名')
imageJpeg($畫布,'文件名')
也有常用的3個輸出為“圖片”顯示的對應語法和函數:
1,
header("content-type: image/png");
ImagePng( $畫布 )
2,
header("content-type: image/gif");
Imagegif( $畫布 )
3,
header("content-type: image/jpeg");
Imagejpeg( $畫布 )
END