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制作图片的方法是在 慕课网 学习的,视屏课程讲的很详细,受用了!