2018.9.27实现图片上添加文字
//1,配置图片路径
$src=”../img/1.jpg”;//图片地址
//2,获取图片信息
$info=getimagesize($src);//获取图片的大小,类型,宽和高并以数组的形式给info
//3,通过编号获取图片类型
$type=image_type_to_extension($info[2],false);//$info[2]是获取这个图片数组里的图片类型具体参照image_type_to_extension这个函数的用法
//4,在内存中创建一毛一样的图片
$fun=”imagecreatefrom”.$type;//这个函数整体是imagecreatefromjpeg(),后面type是你原来图片的类型
//5,图片复制给内存
$image=$fun($src);//对应imagecreatefromjpeg(),后面说具体用法.
/*以上就是对图片的创建就基本完成了,下面是在图片上添加文字*/
//1,设置图片上文字的路径
$font=”../wenzhi/simsun.tff”;//这个是网上下载的宋体文字,下载完放在你想要放的目录下,如果没有文字,图片是不会添加任何东西的
//2,添加文字的内容
$name=”王大锤”;
//3,设置文字的颜色
$color=imagecolorallocatealpha($image, 50, 50, 50, 50);//这个函数下面会说明
//4,文字的写入
imagettftext($image, 20, 0, 238, 295, $color, $font, $name);//8个条件缺一不可,下面具体说明
//5,浏览器输出
header(“Content-type:”.$info[\’mime\’]);$fun = “image”.$type;$fun($image);
//6,保存图片
$fun($image,\’222.\’.$type);
//7,销毁图片
imagedestroy($image);
//通过上述方法实测可以在图片上添加文字.为了方便理解,加了很多注释,不喜欢注释的我这加了份无注释版本.
//无注释版本
$info = getimagesize(“demo/1.jpg”);
$type = image_type_to_extension($info[2],false);
$fun = “imagecreatefrom”.$type;
$image = $fun($src);
$font = “simsun.ttf”;
$name = “张三”;
$color = imagecolorallocatealpha($image, 50, 50, 50, 50);
imagettftext($image, 20, 0, 238, 295, $color, $font, $name);
header(“Content-type:”.$info[\’mime\’]);$fun = “image”.$type;$fun($image);
$fun($image,\’222.\’.$type);
imagedestroy($image);
//下面是各个函数的解析,因为之前没有接触过图片处理这一部分,工作需要,好在做出来了.不废话了,说明下函数
获取图片信息:getimagesize($src)
栗子:$a=getimagesize($src) ;
输出下a发现是一个数组,这个是把图片以数组形式存储赋值给$a,其中$a[2]是图片类型,一般用的就只有这个
获取图片类型image_type_to_extension($a[2],flase)
获取图片的类型
栗子:$b=image_type_to_extension($a[2],flase)
假如原图片是jpg类型 这里返回的就是jepg
载入图片:imagecreatefromjpeg()
翻了翻手册:imagecreatefromjpeg — Create a new image from file or URL
函数用于从文件或 URL 载入一幅图像,成功返回图像资源,失败则返回一个空字符串
栗子:$im
= imagecreatefromjpeg(
"images/flower_1.jpg"
);
在图片上添加文字:imagettftext()这个函数比较麻烦
imagettftext ( $image
,$size
, $angle
, $x
, $y
, $color
, $fontfile
, $text
)
具体解释:$image 指的在内存上的图片,经过上面第五步后才能用上
$size (๑•̀ㅂ•́)و✧ 文字大小
$angle 简单理解就是文本转动,不转写0就行
$x $y x轴 y轴 具体到像素,你想要文字放在什么位置,可以用尺子工具量,稍微麻烦点
$color 文本的颜色
$fontfile 文本的样式 就是啥文字宋体,楷体 (~ ̄▽ ̄)~
$text 你想加的文字
ok,解释完毕 \(^o^)/~
销毁图片imagedestroy()
不是指的真正的销毁…..类似清空缓存
翻翻手册:imagedestroy() 释放与 image
关联的内存。