php合成图片 文字
Posted 没有昵称不想想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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合成图片 文字的主要内容,如果未能解决你的问题,请参考以下文章