第九章 php影象處理(水印)
阿新 • • 發佈:2019-01-06
給圖片加文字水印 <?php header('Content-type:image/jpeg'); $img=imagecreatefromjpeg('images/lzs.jpg'); $color=imagecolorallocate($img, 209, 224, 239); $width=imagesx($img); $height=imagesy($img); // getimagesize();此函式也可以取得圖片長和寬,但輸入的是圖片路徑 // 計算文字的寬度 $position=imagettfbbox(20,0,'font/Elements.ttf','LTEsoft.com'); $stringWidth=$position[2]-$position[0]; // 控制文字水印的位置 imagettftext($img, 24, 0, $width-1-$stringWidth-($width/20), $height-1-($height/10), $color, 'font/Elements.ttf', 'LTEsoft.com'); imagejpeg($img); //輸出圖片 imagedestroy($img);
給圖片加圖片透明水印 <?php header('Content-type:image/jpeg'); $img=imagecreatefromjpeg('images/lzs.jpg'); $waterMark=imagecreatefrompng('images/water1.png'); $color=imagecolorallocate($img, 255, 255, 255); $width=imagesx($img); $height=imagesy($img); $waterMarkWidth=imagesx($waterMark); $waterMarkHeight=imagesy($waterMark); $position=imagettfbbox(20,0,'font/Elements.ttf','huntfox.net'); $stringWidth=$position[2]-$position[0]; //文字水印 imagettftext($img, 24, 0, $width-1-$stringWidth, $height-1, $color, 'font/Elements.ttf', 'huntfox.net'); imagecopymerge($img, $waterMark, $width-1-$waterMarkWidth, $height-1-$waterMarkHeight, 0, 0, $waterMarkWidth, $waterMarkHeight,70); /* 100:所拷貝到目標影象資源上面的座標(x軸) 100:所拷貝到目標影象資源上面的座標(y軸) 0:從水印影象資源的x座標為0的位置開始拷貝 0:從水印影象資源的y座標為0的位置開始拷貝 因為imagecopy()函式是拷貝水印影象的部分,而我們現在要拷貝的是全部水印影象 */ imagejpeg($img); //輸出圖片 imagedestroy($img);