PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

php给图片加水印怎么实现?(图文+视频教程)

藏色散人
藏色散人 原创
2018-09-15 16:42:01 7311浏览

在网站开发过程中,有时站长为了声明是本站资源,通常会被要求实现php给图片加水印的功能。那么php给图片加文字水印也是目前大多数网站防止盗用的常用办法。

本篇文章就给大家详细的介绍PHP添加文字水印的具体实现方法,可供需要的朋友参考。

下面我们通过具体的代码示例为大家详细解说。

首先我们需要获取一个图片信息:

<?php
$img = "timg.jpg";
// 获取图片信息
$info = getimagesize($img);
echo "<pre class="brush:php;toolbar:false">";
var_dump($info);

这里我们使用getimagesize函数获取了timg.jpg这个图片的完整信息,如下图:

cdf935616489c51ffb843460beb6275.png

如图内容所示,这里的字段分别表示图片的宽度、高度以及后缀类型。

PHP给图片加水印的完整操作代码示例如下:

<?php
$img = "timg.jpg";
// 获取图片信息
$info = getimagesize($img);
// 通过图片的编号来获取图片类型
$type = image_type_to_extension($info[&#39;2&#39;], false);
// 在内容中创一个和我们这个图片一样的图片
$ext = "imagecreatefrom{$type}";
// 把图片复制到内存中
$image = $ext($img);
$content = "PHP中文网";
$color = imagecolorallocatealpha($image, 0, 0, 0, 0);
imagettftext($image, 50, 0, 20, 100, $color, &#39;./123.ttf&#39;, $content);
header("content-type:" . $info[&#39;mime&#39;]);
$func = "image{$type}";
$func($image);

上述代码中,image_type_to_extension()函数是用来获取图像类型的文件后缀。我们先通过图片的编号来获取图片类型,再通过imagecreatefrom在内存中创建复制一个和我们示例中的图片一样的图像。

然后继续设置文字水印的内容、字体类型、颜色、大小以及位置。

这里涉及到几个重要的函数:

imagecolorallocatealpha函数用来设置图像透明度。

imagettftext函数表示使用想要的某类型字体,将指定的文字写入图像。  

最终通过浏览器访问,呈现的水印图片效果如下图:

d3a27f5719b6d08c7a1248867b7fb61.png

如图我们已经成功得用PHP给图片加水印了,大家可以根据自己的喜好来设置字体类型、大小、角度或者展现位置。

本篇文章就是关于PHP给图片加水印的具体操作方法,简单易懂,希望对大家有所帮助!

更多PHP相关知识,可以关注PHP视频教程,欢迎大家前来学习参考!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。