thinkphp添加图片、文字水印 自定义位置等。

只添加文字水印

//生成带水印的图片
$image = new \Think\Image();
//定义位置
$path="./Upload/water/".$time.".jpg";
$path1="water/".$time.".jpg";

$wz=array(310,615);//水印位置
$str = ‘文字水印’;
$image->open('./Upload/haibao.jpg')->text($str, './Upload/simhei.ttf', 25, '#000',$wz, 100)->save($path);

//保存到表
    $info['url']=$path1;
    $info['add_time']=time();
    M('erweima')->add($info); 
return true;

添加图片和文字水印

//和上面差不多 多定义一个图片路径引入就行
$image->open('./Upload/haibao.jpg')->water('./Upload/newerweima.jpg',$location,100)->text($str, './Upload/simhei.ttf', 25, '#000',$wz, 100)->save($path);
$image = new \Think\Image(); 
$image->open('./1.jpg');        //指向要打开的图片资源
$width = $image->width(); // 返回图片的宽度
$height = $image->height(); // 返回图片的高度
$type = $image->type(); // 返回图片的类型
$mime = $image->mime(); // 返回图片的mime类型
$size = $image->size(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度

 1.5添加图片水印

  接下来我们就可以对我们上传的图片添加水印
$image = new \Think\Image(); 
// 在图片左上角添加水印(水印文件位于./logo.png) 并保存为water.jpg
$image->open('./1.jpg')->water('./logo.png',\Think\Image::IMAGE_WATER_CENTER)->save("water.jpg");

图片水印的位置,是根据下面的代码确定的,我们想吧图片水印在哪里,可以根据自己的需求改变
IMAGE_WATER_NORTHWEST =   1 ; //左上角水印
IMAGE_WATER_NORTH     =   2 ; //上居中水印
IMAGE_WATER_NORTHEAST =   3 ; //右上角水印
IMAGE_WATER_WEST      =   4 ; //左居中水印
IMAGE_WATER_CENTER    =   5 ; //居中水印
IMAGE_WATER_EAST      =   6 ; //右居中水印
IMAGE_WATER_SOUTHWEST =   7 ; //左下角水印
IMAGE_WATER_SOUTH     =   8 ; //下居中水印
IMAGE_WATER_SOUTHEAST =   9 ; //右下角水印

还可以支持水印图片的透明度(0~100,默认值是80)

$image = new \Think\Image(); 
// 在图片左上角添加水印(水印文件位于./logo.png) 水印图片的透明度为50 并保存为water.jpg
$image->open('./1.jpg')->water('./logo.png',\Think\Image::IMAGE_WATER_NORTHWEST,80)->save("water.jpg"); 

 1.6给图片添加文字水印

$image = new \Think\Image(); 
// 在图片右下角添加水印文字 ThinkPHP 并保存为new.jpg
$image->open('./1.jpg')->text('www.THZ.CN','./1.ttf',20,'#000000',\Think\Image::IMAGE_WATER_SOUTHEAST)->save("new.jpg"); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容