制作文字水印图片、图片水印

1.制作文字水印,示例如下:
这里写图片描述

如果你在显示图片出现如下情况:
这里写图片描述

可以确定你的编码格式有问题,建议你调试程序,将程序编码格式统一设置。

上述实现代码:
fontMark.php文件:

<?php
    /*
     * 打开图片
     */
    //1.配置图片路径
    $src="aodi.jpg";
    //2.获取图片信息
    $info=getimagesize($src);
    //3.通过图像的编号获取图像的类型
    $type=image_type_to_extension($info[2],false);
    //4.在内存中创建一个和我们图像类型一样的图像
    $fun="imagecreatefrom{$type}";
    //5.把图片复制到我们的内存中
    $image=$fun($src);

    /*
     * 操作图片
     */
     //1.设置字体的路径
     $font='msyh.ttf';
     //2.填写我们的水印内容
     $content="你好,奥迪车主!";
//   $content=iconv("GB2312","UTF-8",$content);//转换格式--很重要不然乱码
     //3.设置字体的颜色RGB和透明度
     $color=imagecolorallocate($image, 255, 255, 255);
     //4.写入文字
     imagettftext($image, 20,0,20,30,$color,$font,$content);


    /*
     * 输出图片
     */
     //浏览器输出
     ob_clean();
     header("Content-Type:".$info['mime']);
     $func="image{$type}";
     $func($image);
     //保存图片
     //$func($image,'newimage.'.$type);
    /*
     * 销毁图片
     */
     imagedestroy($image);

?> 

2.制作图片水印,也就是在图片上打上自己的logo。
这里写图片描述

实现代码如下:
imageMark.php文件:

<?php
    /*
     * 打开图片
     */
    //1.配置图片路径
    $src="aodi.jpg";
    //2.获取图片信息
    $info=getimagesize($src);
    //3.通过图像的编号获取图像的类型
    $type=image_type_to_extension($info[2],false);
    //4.在内存中创建一个和我们图像类型一样的图像
    $fun="imagecreatefrom{$type}";
    //5.把图片复制到我们的内存中
    $image=$fun($src);

    /*
     * 操作图片
     */
    //1.设置图片的路径
    $image_Mark="imooc.png";
    //2.获取水印图片的基本信息
    $info2=getimagesize($image_Mark);
    //3.通过水印的图像编号来获取水印的图片类型
    $type2=image_type_to_extension($info2[2],false);
    //4.在内存中创建一个和我们水印图片一致的图片类型
    $func2="imagecreatefrom{$type2}";
    //5.吧水印图片复制到内存中
    $water=$func2($image_Mark);
    //6.合并图片
    imagecopymerge($image, $water, 20, 30, 0, 0, $info2[0], $info2[1], 30);//imagecopymergegray — 复制和合并与灰度图像的一部分
    //7.销毁水印图片
    imagedestroy($water);

    /*
     * 输出图片
     */
     //浏览器输出
     ob_clean();
     header("Content-Type:".$info['mime']);
     $func="image{$type}";
     $func($image);
     //保存图片
     $func($image,'imageMark.'.$type);
    /*
     * 销毁图片
     */
     imagedestroy($image);

?> 

以上学习的PHP制作图片的方法是在 慕课网 学习的,视屏课程讲的很详细,受用了!

猜你喜欢

转载自blog.csdn.net/hd520superman/article/details/71709237