概述
本篇文章给大家带来了关于nginx怎么通过PHP代理给图片添加水印的相关知识,以及应该怎么调用的相关问题,通过代码示例来搞定,下面一起来看一下,希望对大家有帮助。
(推荐教程:nginx教程、PHP视频教程)
nginx 配置代理
location ~ /image/.*.(gif|jpg|jpeg|png)$ {
proxy_pass http://127.0.0.1:8888/test/watermark?url=$request_uri;
}
登录后复制
/img/
匹配要代理的目录前缀,$request_uri
参数为访问的图片路径。
php 水印类
/** 水印类
* Class Watermark
* @package apptest
*/
class Watermark
{
/** 合成图片水印
* @param string $dstImage 原图片
* @param string $waterImg 水印图
*/
public static function imageMarking($dstImage, $waterImg){
//获取图片信息
$dstInfo = getimagesize($dstImage);
$waterInfo = getimagesize($waterImg);
//创建图像
$dstImgObj = self::imageCreateFrom($dstImage, $dstInfo[2]);
$waterImgObj = self::imageCreateFrom($waterImg, $waterInfo[2]);
//合成水印
imagecopyresized($dstImgObj,$waterImgObj,0, 0,0,0,$dstInfo[0], $dstInfo[1],$waterInfo[0],$waterInfo[1]);
//输出图片
self::imageOut($dstImgObj,$waterInfo[2]);
//销毁资源对象
imagedestroy($dstImgObj);
imagedestroy($waterImgObj);
}
/** 生成图片对象
* @param string $imgFile 图片路径
* @param string $type 图片类型
* @return false|GdImage|resource
*/
private static function imageCreateFrom($imgFile, $type) {
switch ($type) {
case IMAGETYPE_GIF:
return imagecreatefromgif($imgFile);
case IMAGETYPE_JPEG:
return imagecreatefromjpeg($imgFile);
case IMAGETYPE_PNG:
return imagecreatefrompng($imgFile);
default : //其他格式
}
}
/** 输出图片
* @param string $imageObj
* @param string $type
*/
private static function imageOut($imageObj,$type){
switch ($type) {
case 1:
header("Content-Type: image/gif");
imagegif($imageObj);
break;
case 2:
header("Content-Type: image/jpeg");
imagejpeg($imageObj);
break;
case 3:
header("Content-Type: image/png");
imagepng($imageObj);
break;
default: //其他格式
}
}
}
登录后复制
调用示例
public function watermark(){
//图片路径前缀
$image = '/data/img/' . input('url');
self::imageMarking($image,'watermark.png');
exit;
}
登录后复制
nginx
水平好的,可以试着用 http_image_filter_module
模块来加水印, 我这也是无奈之举
(推荐教程:nginx教程、PHP视频教程)
以上就是nginx怎么通过PHP代理给图片加水印(详细代码)的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是糟糕路灯为你收集整理的nginx怎么通过PHP代理给图片加水印(详细代码)的全部内容,希望文章能够帮你解决nginx怎么通过PHP代理给图片加水印(详细代码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复