PHP開發(fā)圖片水印教程之操作圖片
操作圖片
<?php /*打開圖片*/ //配置圖片路徑 $src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg"; //獲取圖片的基本信息 $info=getimagesize($src); //通過圖像的編號(hào)來獲取圖片的類型 $type=image_type_to_extension($info[2],false); //內(nèi)存中創(chuàng)建一個(gè)和我們圖像類型一致的圖像 $fun = "imagecreatefrom{$type}"; //把要操作的圖片復(fù)制到內(nèi)存中 $image=$fun($src); /*操作圖片*/ //設(shè)置水印路徑 $image_Mark = "https://img.php.cn/upload/course/000/000/004/5814594e3e7c9278.png"; //獲取水印的基本信息 $info2=getimagesize($image_Mark); //通過水印的圖像編號(hào)來獲取水印的圖片類型 $type2=image_type_to_extension($info2[2],false); //在內(nèi)存中創(chuàng)建一個(gè)和水印圖像一致的圖像類型 $fun2="imagecreatefrom{$type2}"; //把水印復(fù)制到內(nèi)存中 $water = $fun2($image_Mark); //合并圖片 imagecopymerge($image,$water,60,40,0,0,$info2[0],$info2[1],30); //銷毀水印圖片 imagedestroy($water); ?>
代碼解釋:
getimagesize — 取得圖像大小
image_type_to_extension-返回后綴名。
然后存入內(nèi)存中,用imagecopymerge函數(shù)合并圖片添加水印
imagecopymerge — 拷貝并合并圖像的一部分
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 圖像中坐標(biāo)從 src_x,src_y 開始,寬度為 src_w,高度為 src_h 的一部分拷貝到 dst_im 圖像中坐標(biāo)為 dst_x 和 dst_y 的位置上。兩圖像將根據(jù) pct 來決定合并程度,其值范圍從 0 到 100。當(dāng) pct = 0 時(shí),實(shí)際上什么也沒做,當(dāng)為 100 時(shí)對(duì)于調(diào)色板圖像本函數(shù)和 imagecopy() 完全一樣,它對(duì)真彩色圖像實(shí)現(xiàn)了 alpha 透明。