PHP圖片處理---3D效果


/*
*
* PHP 圖像處理
*
* 一:畫圖
*
* 驗證碼、統計圖(餅狀圖。條形圖等)
*
*   二:處理原有的圖像
*
* 縮放、加水印、電子相冊
*
*       GIF PNG JPG WBMP XBM
*
* FreeType Type1 宋體 黑體 楷體
*/


/*
*    安裝GD庫----lamp環境安裝
*
* 1、創建畫布---資源類型---高度 寬度
* 2、繪製圖像---制定各種顏色---矩形 園 點 線段 扇形  畫字符(字符串,freetype字體)
* 3、輸出圖像||保存處理好的圖像
* 4、釋放資源
*/


//$imgsource=imagecreatetruecolor(200, 200);
//bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
    //將 src_im 圖像中座標從 src_x,src_y 開始,寬度爲 src_w,高度爲 src_h 的一部分拷貝到 dst_im 圖像中座標爲 dst_x 和 dst_y 的位置上。兩圖像將根據 pct 來決定合併程度,其值範圍從 0 到 100。當 pct = 0 時,實際上什麼也沒做,當爲 100 時對於調色板圖像本函數和 imagecopy() 完全一樣,它對真彩色圖像實現了 alpha 透明。
/*$src_im=imagecreatefromjpeg ( "./img/1.jpg");


$dst_im=imagecreatefromjpeg ( "./img/2.jpg");

$re=imagecopy($dst_im,$src_im ,0,0,0,0,100,100);
 


header("Content-type: image/jpeg");
imagejpeg($dst_im,"1.jpg");*/


//step1 創建圖片資源
$imgsource=imagecreatetruecolor(200, 200);
//step2 畫各種圖形
       //創建顏色
$red=imagecolorallocate($imgsource,255,0,0);
$yellow=imagecolorallocate($imgsource,255, 255, 0);
$green=imagecolorallocate($imgsource,0, 255, 0);
$blue=imagecolorallocate($imgsource,0, 0, 255);
$white=imagecolorallocate($imgsource, 255, 255, 255);
$gray=imagecolorallocate($imgsource, 0xC0, 0xC0, 0xC0);
$darkgray=imagecolorallocate($imgsource, 0x90, 0x90, 0x90);
$nacy=imagecolorallocate($imgsource, 0, 0, 0x80);
$darknacy=imagecolorallocate($imgsource, 0, 0, 0x50);
$darkred=imagecolorallocate($imgsource,0x90, 0, 0);
            //填充顏色
imagefill($imgsource, 0, 0, $yellow);
 
  //製作3D的效果
for($i=60;$i>50;$i--){
//bool imagefilledarc ( resource $image , int $cx , int $cy , int $w , int $h , int $s , int $e , int $color , int $style )
//imagefilledarc() 在 image 所代表的圖像中以 cx,cy(圖像左上角爲 0, 0)畫一橢圓弧。
//成功時返回 TRUE, 或者在失敗時返回 FALSE.w 和 h 分別指定了橢圓的寬和高,
//s 和 e 參數以角度指定了起始和結束點。style 可以是下列值按位或(OR)後的值: 
// 1.IMG_ARC_PIE
// 2.IMG_ARC_CHORD
// 3.IMG_ARC_NOFILL
// 4.IMG_ARC_EDGED
// IMG_ARC_PIE 和 IMG_ARC_CHORD 是互斥的;
//   IMG_ARC_CHORD 只是用直線連接了起始和結束點,
//   IMG_ARC_PIE 則產生圓形邊界(如果兩個都用,IMG_ARC_CHORD 生效)。
//  IMG_ARC_NOFILL 指明弧或弦只有輪廓,不填充。IMG_ARC_EDGED 指明用直線將起始和結束點與中心點相連,
//和 IMG_ARC_NOFILL 一起使用是畫餅狀圖輪廓的好方法(而不用填充)。 
  imagefilledarc($imgsource, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
  imagefilledarc($imgsource, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
  imagefilledarc($imgsource, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}
  imagefilledarc($imgsource, 50, $i, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
  imagefilledarc($imgsource, 50, $i, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
  imagefilledarc($imgsource, 50, $i, 100, 50, 75, 360 , $red, IMG_ARC_PIE);
 
//step3 輸出或保存圖像
header("Content-type:image/gif");
imagegif($imgsource);
//imagejpeg($imgsource);
//imagepng($imgsource);
//step4 釋放資源
imagedestroy($imgsource);






 





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章