【php學習之路】水印功能的基本實現

學習之路,除了看,還有不停地練習,記錄,希望在這個地方記錄學習的點滴,同時提升一丁點自己的文字功底(表示打這些話的時候語序非常混亂。。。

直入正題,本次主要記錄幾個水印相關的功能,方法可能比較舊了。接觸到新的再說吧:

文字水印

//打開圖像
$src = "原始圖像路徑";  //選擇圖像
$info = getimagesize("$src"); //獲取圖像的基本信息,info[0]、info[1]:圖像的寬高,info[2]:圖像的類型
$type = image_type_to_extension($info[2],false); //獲取圖像的類型,將輸出(jpeg、png等),false表示不保留類型前的".";
$fun = "imagecreatefrom{$type}";  //確認載入圖像類型的函數;
$image = $fun($src);  //通過url地址載入圖像至內存中;

//操作圖像
$font = "字體文件路徑";
$fontColor = imagecolorallocatealpha("圖像資源",R,G,B,透明度); //定義文字水印顏色;
$content = "水印內容"; 
imagettftext("圖像資源","字體大小","旋轉角度","x","y","字體顏色","字體文件");//生成水印,xy表示水印的偏移值

//輸出並銷燬內存中的圖片
header("Content-type:".$info['mime']); //定義頭部信息
$func = "image{$type}";
$func("圖像資源"); //在瀏覽器中生成圖片;
$func("圖像資源","url"); //在指定路徑生成圖片;
imagedestroy("圖像資源"); //銷燬內存中的圖片;

圖片水印

//打開圖片
$src = "";//選擇圖像
$info = getimagesize();//獲取圖像的基本信息,info[0]、info[1]:圖像的寬高,info[2]:圖像的類型
$type = image_type_to_extension($info[2],false);//獲取圖像的類型,將輸出(jpeg、png等),false表示不保留類型前的".";
$fun = "imagecreatefrom{$type}";//確認載入圖像類型的函數;
$image = $fun($src);//通過url地址載入圖像至內存中;

//操作圖片
$src2 = "水印圖片路徑";
$info2 = getimagesize('$src2');//獲取圖像的基本信息,info[0]、info[1]:圖像的寬高,info[2]:圖像的類型
$type2 = image_type_to_extension(info2[2],false);//獲取圖像的類型,將輸出(jpeg、png等),false表示不保留類型前的".";
$funs = "imagecreatefrom{$type2}";//確認載入圖像類型的函數;
$imageMark = $funs($src);//通過url地址載入圖像至內存中;
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 透明

//輸出並銷燬內存中的圖片
header("Content-type:".$info['mime']); //定義頭部信息
$func = "image{$type}";
$func("圖像資源"); //在瀏覽器中生成圖片;
$func("圖像資源","url"); //在指定路徑生成圖片;
imagedestroy("圖像資源"); //銷燬內存中的圖片;
imagedestroy("水印圖片資源");  //銷燬內存中的水印圖片;

壓縮圖片

//打開圖片
$src = "";//選擇圖像
$info = getimagesize();//獲取圖像的基本信息,info[0]、info[1]:圖像的寬高,info[2]:圖像的類型
$type = image_type_to_extension($info[2],false);//獲取圖像的類型,將輸出(jpeg、png等),false表示不保留類型前的".";
$fun = "imagecreatefrom{$type}";//確認載入圖像類型的函數;
$image = $fun($src);//通過url地址載入圖像至內存中;

//操作圖片
$image_thumb = imagecreatetruecolor(w,h);  //在內存中生成一張真彩圖片;
imagecopyresampled (resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h); //進行壓縮操作,dst爲目標圖像($image_thumb),src爲源圖像($image);

//輸出並銷燬內存中的圖片
header("Content-type:".$info['mime']); //定義頭部信息
$func = "image{$type}";
$func("圖像資源"); //在瀏覽器中生成圖片,此處應爲$image_thumb;
$func("圖像資源","url"); //在指定路徑生成圖片,此處應爲$image_thumb;
imagedestroy("源圖像資源"); //銷燬內存中的圖片;
imagedestroy("壓縮圖像資源"); //銷燬內存中的圖片;
發佈了15 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章