ホームページ  >  記事  >  バックエンド開発  >  PHPで写真にウォーターマークを追加する機能を実装_PHPチュートリアル

PHPで写真にウォーターマークを追加する機能を実装_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:37:30910ブラウズ

コードをコピーします コードは次のとおりです:

/**
* 画像に透かしを追加します (png/jpg/gif 形式に適用可能)
*
* @author flynetcn
*
* @param $srcImg 元の画像
* @param $waterImg 透かしのある画像
* @param $savepath 保存パス
* @param $savename 保存名
* @param $positon ウォーターマークの位置
* 1: 左上、2: 右上、3: 中央、4: 左下、5: 右下
* @param $alpha 透明度 - - 0 : 完全に透明、100: 完全に不透明
*
* @return 成功 -- 透かし入れ後の新しい画像アドレス
* * 失敗 -- -1: 元のファイルが存在しない、-2: 透かし画像が存在しない、- 3: 元のファイル画像オブジェクトの作成に失敗しました
* * -4: ウォーターマークファイル画像オブジェクトの作成に失敗しました -5: ウォーターマーク後の新しい画像の保存に失敗しました
*/
function img_water_mark($srcImg, $waterImg, $savepath=null, $savename=null , $positon= 5, $alpha=30)
{
$temp = pathinfo($srcImg);
$name = $temp['basename'];
$path = $temp['dirname'];
$exte = $temp['拡張子'];
$savename = $savename : $name;
$savepath = $savepath : $path;
$savefile = $savename;
$srcinfo = @ getimagesize($srcImg);
if (!$srcinfo) {
return -1; //元のファイルは存在しません
}
$waterinfo = @getimagesize($waterImg);
if (!$waterinfo ) {
return -2 ; //ウォーターマーク画像は存在しません
}
$srcImgObj = image_create_from_ext($srcImg);
if (!$srcImgObj) {
$waterImg ; ブレーク;
//2 右上
ケース 2 : $x = $srcinfo[0]-$waterinfo[0]; $y = 0; Break;
//3 センター
ケース 3: $x = ($srcinfo [0]-$waterinfo[0])/2 ; $y = ($srcinfo[1]-$waterinfo[1])/2; Break;
//4 一番下が左側
ケース 4: $x = $srcinfo[1]- $waterinfo[1]; Break;
//5 下が右側です
ケース 5: $x = $srcinfo[0] -$waterinfo[0]; ; ブレーク;
デフォルト: $x=$y=0;
}
imagecopymerge($srcImgObj, $waterImgObj, $x, $y, 0, 0, $waterinfo[0], $waterinfo[1], $alpha) ;
switch ($srcinfo[2]) {
ケース 1: imagegif($srcImgObj, $savefile); ブレーク;
ケース 2: imagejpeg($srcImgObj, $savefile);
ケース 3: imagepng($srcImgObj, $savefile); Break;
デフォルト: return -5; // 保存に失敗しました
}
imagedestroy($srcImgObj);
imagedestroy($waterImgObj);
return $savefile;
}


function image_create_from_ext($imgfile)
{
$info = getimagesize($imgfile);
$im = null;
switch ($info[2]) {
case 1: $im=imagecreatefromgif($imgfile); ; ケース 2: $im=imagecreatefromjpeg($imgfile); ブレーク;

ケース 3: $im=imagecreatefrompng($imgfile); ブレーク;
}
return $im;
}






http://www.bkjia.com/PHPjc/735250.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/735250.html

次のコードをコピーします: ?php /** * 画像に透かしを追加します (png/jpg/gif 形式に適用されます) * * @author flynetcn * * @param $srcImg 元の画像* @param $waterImg 透かし画像* @param $さ..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。