首页 / PHP知识

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

    类型:原创      发布者:藏色散人2018-09-15 16:42:01

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

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

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

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

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

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

    cdf935616489c51ffb843460beb6275.png

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

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

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

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

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

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

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

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

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

    d3a27f5719b6d08c7a1248867b7fb61.png

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

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

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

    以上就是php给图片加水印怎么实现?(图文+视频教程)的详细内容,更多请关注php中文网其它相关文章!

php中文网赞助会员

PHP中文网

未登录