首先我们实现的效果是,单独的二维码图片,点击按钮保存时,不光是保存二维码,还要有一个图片边框随他一起保存。
如下图所示:
思路是:
1.首先调用函数生成二维码:
2.然后利用缩略图把二维码等比缩小,然后接着利用php水印功能把二维码放到边框背景上即可
3.然后利用php下载功能把图片下载即可
代码如下:
//保存图片
function save_img(){
//水印
//取出图片路径
$user=M('user')->where(array('UE_account'=>$_SESSION['uname']))->find();
$image = new \Think\Image();
// 在图片左上角添加水印(水印文件位于./logo.png) 水印图片的透明度为50 并保存为water.jpg
$image->open('./Public/qrcode/'.$user['ue_phone'].'qrcode.png');
$image->thumb(100, 100,\Think\Image::IMAGE_THUMB_FILLED)->save('./Public/qrcode_small/thumb_'.$user['ue_phone'].'.png');
$image->open('./Public/2.png')->water('./Public/qrcode_small/thumb_'.$user['ue_phone'].'.png',\Think\Image::IMAGE_WATER_CENTER)
->save('./Public/qrcode_save/save_'.$user['ue_phone'].'.png');
//下载图片
$file='./Public/qrcode_save/save_'.$user['ue_phone'].'.png';
@header('Content-Description: File Transfer');
@header('Content-Disposition: attachment; filename='.basename($file));
@header('Content-Transfer-Encoding: binary');
@header('Expires: 0');
@header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
@header('Pragma: public');
@header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
进行更多交流
微信扫描关注“公众号”
![](http://img.xiumi.us/xmi/ua/zN53/i/705d5079c7f9ed5f2f9317522400e57e-sz_28204.jpg?x-oss-process=style/xm)