给图片添加图片水印

一直的项目都没有给图片添加水印的功能,今天自己学习学习,顺便整理了一下,当做笔记了。

简单来说给图片添加图片水印有四个步骤:

1、加载水印以及要加水印的图像(创建新图象);

2、设置水印图像的外边距,并且获取水印图像的尺寸;

3、利用图像的宽度和水印的外边距计算位置,并且将水印复制到图像上;

4、输出图像并释放内存

举个两个简单的例子,例1:

例2:


第一步加载图像(创建图像)可用的函数:

1、由文件或 URL 创建一个新图象

imagecreatefromgif()、imagecreatefromjpeg()、imagecreatefrompng()、imagecreatefromwbmp()、imagecreatefromwebp()、imagecreatefromxbm()、imagecreatefromxpm()

2、从 GD 文件或 URL 新建一图像

imagecreatefromgd()

3、从给定的 GD2 文件或 URL 中的部分新建一图像

imagecreatefromgd2()、imagecreatefromgd2part()

4、从字符串中的图像流新建一图像

imagecreatefromstring()

第三步将水印复制到图像上,使用的函数imagecopy($dst_im$src_im$dst_x$dst_y$src_x$src_y$src_w$src_h),说下这个函数的参数:

$dst_im 在这张图上架水印;

$src_im作为水印的图;

$src_im水印图放在$dst_im坐标为$dst_x$dst_y的位置上;

复制$src_im水印图的开始坐标$src_x$src_y

复制$src_im水印图的宽$src_w和高$src_h

注:图片的左上角坐标为(0,0)

最后输出图像,格式怎样的话,看需求吧!可用函数:

imagegif()、imagejpeg()、imagepng()、imagewbmp()、imagewebp()、imagexbm()、imagegd()、imagegd2()

给图片添加图片水印可以这样实现,我就整理了这些!希望有用

你可能感兴趣的:(图片处理)