時間:2014年4月10日08:51:08 圖片縮略圖及水印


主要內容:

圖像複製(水印)

圖像半透明覆制

圖像按比例複製(縮略圖)



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);

?>


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