php合成图片 文字
代码:
public function mergePic(){
$ground = '/Public/merge/beijing.png';
$img = [
'url'=>'/Public/merge/qrcode.png',
'x'=>100,
'y'=>100
];
$qr = [
'url'=>'/Public/merge/qr.jpg',
'x'=>150,
'y'=>1400
];
$text = [
'size'=>20,
'text'=>'123456'
];
$this->merge($ground,$img,$qr,$text);
} /**
* @param $ground string 背景
* @param $img array 图片
* @param $qr array 二维码
* @param $text array 文字
*/
public function merge($ground,$img=[],$qr=[],$text=[]){
$types = [
"image/jpg" => 'imagecreatefromjpeg',
"image/jpeg" => 'imagecreatefromjpeg',
"image/png" => 'imagecreatefrompng',
"image/pjpeg" => 'imagecreatefromjpeg',
"image/gif" => 'imagecreatefromgif',
"image/bmp" => 'imagecreatefromwbmp',
"image/x-png" => 'imagecreatefromjpeg'
];
$groundMime = getimagesize(getcwd().$ground);
$grounds = $types[$groundMime['mime']](getcwd().$ground);//获取图片资源
// $fileName = "/Public/merge/".time().".png";//保存图片目录
$fileName = "/Public/merge/123.png";//保存图片目录
if($img){
$imgMime = getimagesize(getcwd().$img['url']);
$imgs = $types[$imgMime['mime']](getcwd().$img['url']);//获取图片资源
$imgsW = imagesx($imgs);//图片宽
$imgsH = imagesy($imgs);//图片高
imagecopy($grounds, $imgs, $img['x'], $img['y'], 0, 0, $imgsW, $imgsH);//核心函数:复制图片资源到另一图片资源中
} if($qr){
$qrMime = getimagesize(getcwd().$qr['url']);
$qrs = $types[$qrMime['mime']](getcwd().$qr['url']);//获取图片资源
$qrsW = imagesx($qrs);//图片宽
$qrsH = imagesy($qrs);//图片高
imagecopy($grounds, $qrs, $qr['x'], $qr['y'], 0, 0, $qrsW, $qrsH);//核心函数:复制图片资源到另一图片资源中
} if($text){
$size = $text['size'];//字体大小
$font = "./Public/merge/yuanti.ttf";//字体
$text = $text['text'];//显示的文字
$grey = imagecolorallocate($grounds,0,0,0);//设置字体颜色
imagettftext($grounds,$size,0,100,100,$grey,$font,$text);//将ttf文字写到图片中
} imagepng($grounds,getcwd().$fileName); //保存
imagedestroy($grounds);
imagedestroy($imgs);
imagedestroy($qrs);//销毁图片资源
}
参考:
php合成图片 文字的更多相关文章
- [JavaScript] canvas 合成图片和文字
Canvas Canvas 是 HTML5 新增的组件,就像一个画板,用 js 这杆笔,在上面乱涂乱画 创建一个 canvas <canvas id="stockGraph" ...
- PHP合成图片、生成文字、居中对齐、画线、矩形、三角形、多边形、图片抗锯齿、不失真 高性能源码示例
function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . date ( ...
- PHP生成小程序二维码合成图片生成文字
这部分代码是写在项目上的代码,THINKPHP3.1如果迁移到其他的地方应该要稍稍改动一下以适合自己的项目 function get_bbox($text,$fsize,$ffile){ return ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
- [C13] 应用实例:图片文字识别(Application Example: Photo OCR)
应用实例:图片文字识别(Application Example: Photo OCR) 问题描述和流程图(Problem Description and Pipeline) 图像文字识别应用所作的事是 ...
- UIButton的titleEdgeInsets属性和imageEdgeInsets属性实现图片文字按要求排列
button可以设置 titleEdgeInsets属性和 imageEdgeInsets属性来调整其image和label相对位置,具体参考http://stackoverflow.com/ques ...
- iOS UIButton 图片文字上下垂直布局 解决方案
实现如图所示效果: 这是一个UIButton,需要改变image和title相对位置. 解决如下: //设置文字偏移:向下偏移图片高度+向左偏移图片宽度 (偏移量是根据[图片]大小来的,这点是关键)b ...
- 『方案』《女友十年精华》 ORC 图片 文字识别 详解
目的需求: 2008年,遇到一本电子书 <女友十年精华> 觉得很美,想 私藏 这些文章: >网络搜索文章 —— 没有找到: >反编译程序 —— 所有文字 都是图片格式(部分文章 ...
- CSS 实现:图片+文字的布局(综合)
☊[实现要求]:图片+文字+居中 √[实现]: ① img + 文字 <div class="demo2-1"> <img src="" al ...
随机推荐
- Java多线程学习笔记(二)
三 多线程执行的共享数据和非共享数据: 共享数据:就是每个线程执行的时候共享数据使用,比如这个线程一个为5的数据,减少为4之后,另一个线程执行拿到的数据是4,两个线程执行的数据是共享的. 非共享数据: ...
- 排查在 Azure 中新建 Windows 虚拟机时遇到的经典部署问题
尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. 当由于准备步骤不当,或者在从门户捕获映像期间选择了错误的设置而导致 OS 映像无法加载时,将发生预配失败. 当群集 ...
- 机器学习入门KNN近邻算法(一)
1 机器学习处理流程: 2 机器学习分类: 有监督学习 主要用于决策支持,它利用有标识的历史数据进行训练,以实现对新数据的表示的预测 1 分类 分类计数预测的数据对象是离散的.如短信是否为垃圾短信,用 ...
- jquery遍历之children()与find()的区别
hildren(selector) 方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈).参数可选,添加参数表示通过选择器进行过滤,对元素进行筛选. .find(selector)方法是返回匹配元 ...
- 重写UIImageView的image属性
重写UIImageView的image属性 效果: 当你重写了UIImageView的image属性后你就会对UIImageView怎么显示图片了如指掌了:) 源码: UIImageView.h + ...
- innerHTML,innerText,textContent,outerHTML的用法以及区别
innerHTML获取的是对象起始的位置到终止位置全部内容,包含html标签. innerText和textContent结果是一样的,不包含标签,直接获取标签内的内容,区别是两者浏览器的兼容性. o ...
- 021.8 properties(开发使用频率高)
内容:Properties基本存取.存储到持久化设备.从持久化设备读取.简单模拟收费软件试用结束##Properties——有配置文件的功能. 特点: 1.Hash table的子类,ma ...
- MVC中使用过滤器做权限认证需要注意的地方
最近一项目接近尾声,正准备调试的时候发现一条原本不应该执行的SQL语句执行报错了,本就不应该执行,所以当然也就出错,找了一下,问题如下. 我这里是直接重写OnActionExecuting方法来达到目 ...
- angularJs的$scope.$apply
<!DOCTYPE HTML> <html ng-app> <head> <meta http-equiv="Content-Type" ...
- UVa 1640 - The Counting Problem(数论)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...