Thinkphp 5.0 生成带Logo的二维码且与背景图一起生成海报 并同步上传到阿里云oss
背景图、二维码、文字统一合成新的图片
最近两天在做php生成二维码后要与logo合成,合成后还不算,还要和背景图再次合并,并且要在背景图上添加文字。。。。。一眼难尽啊!!!最初困在了easyswoole引入phpqrcode上面了,经过各种曲折,最后问题一个一个解决,现在想想,这些问题是真low。
废话不说了,言归正传。下面记录一下相关步骤:
- 首先是php生成二维码
$data = "http://www.xxx.com/user?uid=1&user_type=2&table=$num"; //生成二维码的内容
$logo = "./logo.jpg";//你的logo地址
$rootPath = 'Temp/qrcode/';
$path = $saveDir.'/'.$shop_id.'/';
if (!is_dir($rootPath.$path))
{
mkdir($rootPath.$path,0777,true);
}
$originalUrl = $path.time().$table_num.'.png';
$imageSrc = $rootPath.$path.time().$table_num.'.png';
$imageName = time().$table_num.'.png';
require_once 'vendor/phpqrcode/phpqrcode.php';
$object = new \QRcode();
$errorCorrectionLevel = 'L'; //容错级别
$matrixPointSize = 6; //生成图片大小(这个值可以根据你的实际情况来判断,但是必须是整数)
$object::png($data,$imageSrc,$errorCorrectionLevel, $matrixPointSize, 2);
2.生成二维码之后需要在二维码上面加上logo
//判断是否生成带logo的二维码
if(file_exists($logo))
{
$QR = imagecreatefromstring(file_get_contents($imageSrc<