php如何放大水印,php图片加水印全解(图片水印,图片缩放,文字水印)

最近工作中遇到需要把图片加上水印和文字。用了很多种方法。遇到了无数的坑。终于解决了。分享给大家。不喜勿喷。

首先介绍几个方法

imagecopymerge() 函数用于拷贝并合并图像的一部分,成功返回 TRUE ,否则返回 FALSE 。

bool imagecopymerge( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y,int src_w, int src_h, int pct )

参数说明:

参数

说明

dst_im

目标图像

src_im

被拷贝的源图像

dst_x

目标图像开始 x 坐标

dst_y

目标图像开始 y 坐标,x,y同为 0 则从左上角开始

src_x

拷贝图像开始 x 坐标

src_y

拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝

src_w

(从 src_x 开始)拷贝的宽度

src_h

(从 src_y 开始)拷贝的高度

pct

图像合并程度,取值 0-100 ,当 pct=0 时,实际上什么也没做,反之完全合并。

imagecopyresampled图像处理函数,缩放图片。

bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

dst_image

目标图象连接资源。

src_image

源图象连接资源。

dst_x

目标 X 坐标点。

dst_y

目标 Y 坐标点。

src_x

源的 X 坐标点。

src_y

源的 Y 坐标点。

dst_w

目标宽度。

dst_h

目标高度。

src_w

源图象的宽度。

src_h

源图象的高度。

imagettftext图像中插入文字

imagettftext( resource $image ,float $size, float$angle, int $x, int $y, int $color, string $fontfile, string $text)

image

目标图象连接资源。

size

字体大小

angle

旋转角度

x

x 坐标点。

y

y坐标点。

color

颜色。

fontfile

字体。

text

内容。

源码:

图片水印:

$srcImg="base.png";

$waterImg= "water.png";

$alpha=100;

$srcImgObj = $this->image_create_from_ext($srcImg);

$waterImgObj = $this->image_create_from_ext($waterImg);

$x = 517; $y = 850;

imagecopymerge($srcImgObj, $waterImgObj, $x, $y, 0, 0, 315, 315,$alpha);

图片缩放(原图片缩放成80*80):

$waterImgObj = $this->image_create_from_ext($waterImg);

$img = imagecreatetruecolor(80, 80);

imagefill($img, 0, 0, imagecolorallocate($img, 255, 255, 255));

$srcinfo = @getimagesize($waterImg);

imagecopyresampled($img, $waterImgObj, 0, 0, 0, 0, 80,80, $srcinfo[0], $srcinfo[1]);

文字水印(文字居中显示):

$font = 'simsun.ttc';//字体

$text1=“快乐编程”;

$fontSize = 18;//像素字体

$fontColor = imagecolorallocate ( $srcImgObj, 0, 0, 0 );//字的RGB颜色

$fontBox = imagettfbbox($fontSize, 0, $font, $text1);//文字水平居中实质

imagettftext ( $srcImgObj, $fontSize, 0, ceil((1350 - $fontBox[2]) / 2), 1250, $fontColor, $font, $text1 );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值