PHP——水印处理

1.打开服务器或网络中存在的GIF,JPEG,PNG,WBMP格式图像

  1. imagecreatefromjpeg()
  2. imagecreatefrompng()
  3. imagecreatefromgif()
  4. imagecreatefrombwmp()
<?php
header('content-type:image/jpeg');
$img= imgecreatefromjieg('images/zcx.jpg);		//打开图片,格式为'路径/全名',也可以放一张图片的URL地址

$color=imagecolorallocate($img,255,255,255);
imagettftext($img,25,0,100,100,$color,'font/sketchycomic.ttf','sifangku.com');
//设置字体的格式,大小,倾斜度,和颜色

imagejpef($img);			//输出图片
imagedestroy();

imagesx() 输出图像宽度,
imagesy() 输出图像高度
getimagesize() 取得图像大小 (只能传入图片的路径)
imagettfbbox() 返回一个含有8各单元的数组,表示了文本外框的四个角
在这里插入图片描述

<?php
header('content-type:image/jpeg');
$img= imgecreatefromjieg('images/zcx.jpg);	
$color=imagecolorallocate($img,255,255,255);

//var_dump(imagesx($img));			输出图像宽度,
//var_dump(imagesy($img));			输出图像高度
//var_dump(getimagesize('images/zcx.jpg);			直接输出图像的相关信息

$width=imagesx($img);
$height=imagesy($img);
imagettfbbox(20,0,'font/sketchycomic.ttf','sifangku.com');
$stringwidth=$position[2]-position[0];

imagettftext($img,25,0,$width-1-$stringwidth-($width/30),$height-1-($height/30),$color,'font/sketchycomic.ttf','sifangku.com');
imagejpef($img);		
imagedestroy();

加图片水印
imagecopy(); 可以吧图片的一部分拷贝到另外一张图片
参数说明

<?php
header('content-type:image/jpeg');
$img= imgecreatefromjieg('images/zcx.jpg);	
$color=imagecolorallocate($img,255,255,255);

$watermark = imagecreatefromgif($filename);

$width=imagesx($img);
$height=imagesy($img);
imagettfbbox(20,0,'font/sketchycomic.ttf','sifangku.com');
$stringwidth=$position[2]-position[0];
 
imagettftext($img,25,0,$width-1-$stringwidth-($width/30),$height-1-($height/30),$color,'font/sketchycomic.ttf','sifangku.com');

$watermark _width =imagesx($img);
$watermark _height=imagesy($img);

imagecopy($img,$watermark,100,100,0,0,$watermark _width,$watermark _height);

/*
imagecopy的参数说明:
$img :	目标图像资源
$watermark  :	水印的图像资源 
100,100 :水印图像在目标图像上,所处的X轴和Y轴的坐标(左上角坐标)
0,0	:水印图像从X坐标为0处,开始拷贝 ,从Y坐标为0处,开始拷贝
$watermark _width :所要拷贝水印图像的长度
$watermark _height :所要拷贝水印图像的高度
*/

imagejpef($img);		
imagedestroy();

如果要把水印放在右下角

imagecopy($img,$watermark,$width-1-$watermark _width,$height-1-$watermark _height,0,0,$watermark _width,$watermark _height);

加一个透明的水印

imagecopymerge($img,$watermark,$width-1-$watermark _width,$height-1-$watermark _height,0,0,$watermark _width,$watermark _height,50);
//最后一个参数50 ,表示透明度 ,参数越小越透明。0位全透,看不见。100为几乎不透明,和imagecopy函数一模一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值