来凤姐般的图片·······················哈哈
我就直接放自己的业务代码了,基本复制张贴就可以用了
public function createImg($link,array $data){
//生成二维码
ob_clean();
QRcode::png($link, '../temp/qrcode.jpg', 3, 5, 1);
$qrcode = imagecreatefromstring(file_get_contents('../temp/qrcode.jpg'));
//生成白色背景图
$bc = imagecreatetruecolor(800,1100);
$color = imagecolorallocate($bc,255, 255, 255);
//填充颜色
imagefill($bc, 0, 0, $color);
imagejpeg($bc,'../temp/backgoround.jpg');
$background = imagecreatefromstring(file_get_contents('../temp/backgoround.jpg'));
$main = imagecreatefromstring(file_get_contents($data['good_main_img']));
//对二维码进行采样
list($qrW, $qrH) = getimagesize('../temp/qrcode.jpg');
//对广告图进行采样
list($mainW, $mainH) = getimagesize($data['good_main_img']);
//合成图片
imagecopymerge($background, $main, 0, 0, 0, 0, $mainW, $mainH, 100);
imagecopymerge($background, $qrcode, 520, 800, 0, 0, $qrW, $qrH, 100);
//文字
$black = imagecolorallocate($background, 255, 107, 75);//字体颜色
imagefttext($background, 15, 0, 560, 1080, $black, '../temp/zz.ttf', '长按二维码领券购买');
imagefttext($background, 30, 0, 100, 1000, $black, '../temp/zz.ttf', "[券后价]{$data['currte_price']}元");
imagefttext($background, 30, 0, 200, 850, $black, '../temp/zz.ttf', "原价{$data['good_price']}元");
imagejpeg($background,'./static/img/temp/good_qrcode.jpg');
}
使用下面的函数 更容易调整合成图片的大小
imagecopyresampled($background,$qrcode,240,300,0,0,190,190,$qrW,$qrH);