您现在的位置是:首页 > 编程语言学习 > 后端编程语言 > 文章正文 后端编程语言
西安网站制作:php如何合成图片跟文字(附带代码)
名声在外女性资讯 2019-11-20 15:49:16 后端编程语言
简介在php(拍黄片)的开发过程中,经常会有这么一个需求“php合成图片或者文字”,百度上乱七八糟的都有,真正有用的并不多,所以万晓博SEO亲身实践这个方法可行,因此分享出来跟大家一起交流与学习。代码详情往下看。
一、本章前言:
在php(拍黄片)的开发过程中,经常会有这么一个需求“php合成图片或者文字”,百度上乱七八糟的都有,真正有用的并不多,所以万晓博SEO亲身实践这个方法可行,因此分享出来跟大家一起交流与学习。代码详情往下看。
二、实现代码
- 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);//销毁图片资源
- }
三、参考文档
1、PHP 使用GD库合成带二维码的海报步骤以及源码实现
https://www.cnblogs.com/cyfblogs/p/9963309.html
2、将图片绘制到画布上:imagecopy()
https://www.cnblogs.com/hzg8754/p/9756215.html
四、本章总结
总结:以上就是万晓博SEO总结的php如何合成图片跟文字的裸露代码,代码尚未精简,还请广大老铁给予指正修改,更多内容还请继续关注万晓博SEO后端代码变成语言开发频道。