PHP两个图片合并,并添加文字

今天在做一个东西需要给一个图片加上文字,并加上二维码!

网上找了好多,测试完都无法兼容!

最后我找到一个,图片合并的,比较完美的教程!

然后给他添加上文字,就达到了 我想要的效果!

代码 已全部添加注释,为了学习,跟存稿!

演示图 我就不贴了,如果你有更好的方法,请投稿给我!

<?php
/*
* 图片加微信二维码,并加文字
 */
header('Content-Type: image/png');//输出协议头

$dst_path = '4.png';//背景图
$src_path = 'http://qr.liantu.com/api.php?m=0&w=200&text=https://www.aeink.com';//这是我用的是二维码
//创建图片的实例
$dst = imagecreatefromstring(file_get_contents($dst_path));//读取背景图片数据流
$src = imagecreatefromstring(file_get_contents($src_path));//读取二维码数据流
//获取水印图片的宽高
list($src_w, $src_h) = getimagesize($src_path);
//将水印图片复制到目标图片上,最后个参数100是设置透明度,这里实现不透明效果
imagecopymerge($dst, $src, 1360, 833, 0, 0, $src_w, $src_h, 100);
//如果水印图片本身带透明色,则使用imagecopy方法
//imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);
//设置水印文字颜色
//SIMYOU.TTF 是幼圆字体
$col = imagecolorallocatealpha($dst,0,0,0,0);
//添加水印文字
//30 是字体大小
//215横坐标
//875 980 是纵坐标
imagettftext($dst,30,0,215,875,$col,"SIMYOU.TTF",'AEINK');
imagettftext($dst,30,0,215,980,$col,"SIMYOU.TTF",'www.aeink.com');
//输出图片
list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);
imagepng($dst);
//将数据进行销毁
imagedestroy($dst);
imagedestroy($src);
?>

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏优启梦

PHP两个图片合并,并添加文字

4778
来自专栏IT民工生存指南

从0开始Vue.js 和 Webpack 4 [1]

1565
来自专栏前端人人

React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)

本教程总共9篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React多页面应用1(webpack4 开发环境搭建...

5463
来自专栏一“技”之长

AppleWatch开发入门三——代码交互与控制器生命周期

        在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之后,就会生成Inte...

643
来自专栏凉城

PHP两个图片合并,并添加文字

1418
来自专栏Samego开发资源

Chrome扩展开发入门体验

2014
来自专栏DT乱“码”

微信小程序开发指引

官方文档教程1:http://bcoder.cn/wxopen/ 官方文档教程2:http://bing.aliaii.com/wxopen/  本文档将带你一...

42010
来自专栏前端说吧

vuex - 项目结构目录及一些简单配置

4096
来自专栏无原型不设计

【Mockplus教程】复制/克隆

复制是将页面复制到内存中,克隆是直接创建一个和原页面内容一样的新页面。 1. 复制 选中需要复制的页面,鼠标右键单击,弹出的菜单中选择“复制”, 然后在...

3053
来自专栏西安-晁州

golang学习之select用法

早期的select函数是用来监控一系列的文件句柄,一旦其中一个文件句柄发生IO操作,该select调用就会被返回。golang在语言级别直接支持select,用...

4370

扫码关注云+社区