主要內容:
圖像複製(水印)
圖像半透明覆制
圖像按比例複製(縮略圖)
p_w_picpathcopy函數—拷貝畫布中的一部分,複製到另一塊畫布上,但沒有比例縮放功能,只能原模原樣複製
bool p_w_picpathcopy ( resource $dst_im ,resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int$src_w , int $src_h )
參數$dst_im:目標畫布
參數$src_im:複製源畫布
參數$dst_x ,dst_y:目標畫布開始點
參數$src_x ,$src_y:源畫布開始位置
參數$src_w:源畫布切取寬度
參數$src_h:源畫布切取高度
<?php /**** bool p_w_picpathcopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h ) ****/ $width = 300; $height = 200; /*創建大圖*/ $big = p_w_picpathcreatetruecolor($width*2+20, $height); /*創建小圖*/ $small = p_w_picpathcreatefrompng("./1.png"); /*複製小圖*/ p_w_picpathcopy($big, $small, 0, 0, 0, 0, 300, 200); p_w_picpathcopy($big, $small, 320, 0, 0, 0, 300, 200); /*輸出圖像*/ header("content-type:p_w_picpath/jpeg"); p_w_picpathjpeg($big); /*銷燬圖像資源*/ p_w_picpathdestroy($big); p_w_picpathdestroy($small); ?> |
複製的圖像,能否小一點呢,帶一些透明效果?
p_w_picpathcopyresampled —複製圖片,並允許調整大小,可以做縮略圖
bool p_w_picpathcopyresampled ( resource$dst_p_w_picpath , resource $src_p_w_picpath , int $dst_x , int $dst_y , int $src_x , int$src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
<?php $sw = 720;//原始圖像寬度 $sh = 1280;//原始圖像高度 $dw = (int)$sw/2;//縮略寬度 $dh = (int)$sh/2;//縮略高度 /*創建縮略圖圖像*/ $dst = p_w_picpathcreatetruecolor($dw, $dh); /*讀取原始圖*/ $src = p_w_picpathcreatefromjpeg("./2.jpg"); /*複製圖像*/ p_w_picpathcopyresampled($dst, $src, 0, 0, 0, 0, $dw, $dh, $sw, $sh); /*輸出圖像*/ p_w_picpathjpeg($dst,'./small.jpeg'); /*銷燬圖像*/ p_w_picpathdestroy($dst); p_w_picpathdestroy($src); ?> |
p_w_picpathcopymerge —透明覆制
bool p_w_picpathcopymerge ( 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 )
兩圖像將根據 pct 來決定合併程度,其值範圍從 0 到 100。當 pct = 0 時,實際上什麼也沒做,當爲 100 時對於調色板圖像本函數和p_w_picpathcopy() 完全一樣,它對真彩×××像實現了 alpha 透明。
<?php /*創建縮略圖圖像*/ $dst = p_w_picpathcreatefromjpeg('./2.jpg'); /*讀取原始圖*/ $src = p_w_picpathcreatefromjpeg("./small.jpg"); /*複製圖像*/ //p_w_picpathcopymerge(dst_im, src_im, dst_x, dst_y, src_x, src_y, src_w, src_h, pct) p_w_picpathcopymerge($dst, $src, 500, 900, 0, 0, 300, 500,90); /*輸出圖像*/ header("content-type:p_w_picpath/jpeg"); p_w_picpathjpeg($dst); /*銷燬圖像*/ p_w_picpathdestroy($dst); p_w_picpathdestroy($src); ?> |
p_w_picpathalphablending —設定圖像的混色模式
bool p_w_picpathalphablending ( resource $p_w_picpath ,bool $blendmode )
如果 blendmode 爲 TRUE ,則啓用混色模式,否則關閉。成功時返回 TRUE ,或者在失敗時返回 FALSE
效果不是很明顯
<?php /*創建縮略圖圖像*/ $dst = p_w_picpathcreatefromjpeg('./2.jpg'); /*讀取原始圖*/ $src = p_w_picpathcreatefromjpeg("./small.jpg"); //p_w_picpathalphablending($src, true); /*複製圖像*/ //p_w_picpathcopymerge(dst_im, src_im, dst_x, dst_y, src_x, src_y, src_w, src_h, pct) p_w_picpathcopymerge($dst, $src, 500, 900, 0, 0, 300, 500,50); /*輸出圖像*/ header("content-type:p_w_picpath/jpeg"); p_w_picpathjpeg($dst); /*銷燬圖像*/ p_w_picpathdestroy($dst); p_w_picpathdestroy($src); ?> |