您现在的位置是:首页 > 编程语言学习 > 后端编程语言 > 文章正文 后端编程语言

西安网站制作:php如何合成图片跟文字(附带代码)

名声在外女性资讯 2019-11-20 15:49:16 后端编程语言

简介在php(拍黄片)的开发过程中,经常会有这么一个需求“php合成图片或者文字”,百度上乱七八糟的都有,真正有用的并不多,所以万晓博SEO亲身实践这个方法可行,因此分享出来跟大家一起交流与学习。代码详情往下看。

  一、本章前言:
 
  在php(拍黄片)的开发过程中,经常会有这么一个需求“php合成图片或者文字”,百度上乱七八糟的都有,真正有用的并不多,所以万晓博SEO亲身实践这个方法可行,因此分享出来跟大家一起交流与学习。代码详情往下看。
 
php合成图片
 
  二、实现代码
  1. public function mergePic(){ 
  2.         $ground = '/Public/merge/beijing.png'
  3.         $img = [ 
  4.             'url'=>'/Public/merge/qrcode.png'
  5.             'x'=>100, 
  6.             'y'=>100 
  7.         ]; 
  8.         $qr = [ 
  9.             'url'=>'/Public/merge/qr.jpg'
  10.             'x'=>150, 
  11.             'y'=>1400 
  12.         ]; 
  13.         $text = [ 
  14.             'size'=>20, 
  15.             'text'=>'123456' 
  16.         ]; 
  17.         $this->merge($ground,$img,$qr,$text); 
  18.     } 
  19.  
  20.     /** 
  21.      * @param $ground string 背景 
  22.      * @param $img array 图片 
  23.      * @param $qr array 二维码 
  24.      * @param $text array 文字 
  25.      */ 
  26. public function merge($ground,$img=[],$qr=[],$text=[]){ 
  27.     $types = [ 
  28.         "image/jpg" => 'imagecreatefromjpeg'
  29.         "image/jpeg" => 'imagecreatefromjpeg'
  30.         "image/png" => 'imagecreatefrompng'
  31.         "image/pjpeg"  => 'imagecreatefromjpeg'
  32.         "image/gif"  => 'imagecreatefromgif'
  33.         "image/bmp"  => 'imagecreatefromwbmp'
  34.         "image/x-png"  => 'imagecreatefromjpeg' 
  35.     ]; 
  36.     $groundMime = getimagesize(getcwd().$ground); 
  37.     $grounds = $types[$groundMime['mime']](getcwd().$ground);//获取图片资源 
  38. //        $fileName = "/Public/merge/".time().".png";//保存图片目录 
  39.     $fileName = "/Public/merge/123.png";//保存图片目录 
  40.     if($img){ 
  41.         $imgMime = getimagesize(getcwd().$img['url']); 
  42.         $imgs = $types[$imgMime['mime']](getcwd().$img['url']);//获取图片资源 
  43.         $imgsW = imagesx($imgs);//图片宽 
  44.         $imgsH = imagesy($imgs);//图片高 
  45.         imagecopy($grounds$imgs$img['x'], $img['y'], 0, 0, $imgsW$imgsH);//核心函数:复制图片资源到另一图片资源中 
  46.     } 
  47.  
  48.     if($qr){ 
  49.         $qrMime = getimagesize(getcwd().$qr['url']); 
  50.         $qrs = $types[$qrMime['mime']](getcwd().$qr['url']);//获取图片资源 
  51.         $qrsW = imagesx($qrs);//图片宽 
  52.         $qrsH = imagesy($qrs);//图片高 
  53.         imagecopy($grounds$qrs$qr['x'], $qr['y'], 0, 0, $qrsW$qrsH);//核心函数:复制图片资源到另一图片资源中 
  54.     } 
  55.  
  56.     if($text){ 
  57.         $size = $text['size'];//字体大小 
  58.         $font = "./Public/merge/yuanti.ttf";//字体 
  59.         $text = $text['text'];//显示的文字 
  60.         $grey = imagecolorallocate($grounds,0,0,0);//设置字体颜色 
  61.         imagettftext($grounds,$size,0,100,100,$grey,$font,$text);//将ttf文字写到图片中 
  62.     } 
  63.  
  64.     imagepng($grounds,getcwd().$fileName); //保存 
  65.     imagedestroy($grounds); 
  66.     imagedestroy($imgs); 
  67.     imagedestroy($qrs);//销毁图片资源 
 
php合成图片

  三、参考文档
 
  1、PHP 使用GD库合成带二维码的海报步骤以及源码实现
 
  https://www.cnblogs.com/cyfblogs/p/9963309.html
 
  2、将图片绘制到画布上:imagecopy()
 
  https://www.cnblogs.com/hzg8754/p/9756215.html

​  四、本章总结
 
  总结:以上就是万晓博SEO总结的php如何合成图片跟文字的裸露代码,代码尚未精简,还请广大老铁给予指正修改,更多内容还请继续关注万晓博SEO后端代码变成语言开发频道。

相关文章

站点信息