在开发公众号海报功能时, 要生成一个二级码。 用的是phpqrcode库, 但是到到生成的二维码, 大小与给定的内容有关。 大小不确定。 网上有一个改phpqrcode原代码方式, 我发现有一个方法也可行:
- 生成代码时,用 imagecopyresampled()函数进行处理
imagecopyresampled($thumb_qr, $img_content, 0, 0, 0, 0, 206, 206, $imgarr[0], $imgarr[1]);//核心函数,改变二维码图片大小
- 在处理前先把生成的二维码图片大小读出来,用getimagesize()方法。
//获取图片信息, 这里取 宽, 高
$imgarr = getimagesize($qr_code);
这个数组里面有图片的, 宽, 高 ,把它丢到1步中的函数 9,10个参数中, 具体看代码
- 在把数据中的 宽,高放入到修改文件大小的1步中的函数
//获取图片信息, 这里取 宽, 高
$imgarr = getimagesize($qr_code);
//将微信二维码缩小至206*206,默认是430
$file_name = getcwd()."/Uploads/Qrcode/".$id.'_'.md5($codeContents)."_206px.png";
if (!file_exists($file_name)) {
$thumb_qr = imagecreatetruecolor(206,206); //创建一个新的画布(缩放后的),从左上角开始填充透明背景
$img_content = imagecreatefrompng($qr_code); //获取图片资源
imagecopyresampled($thumb_qr, $img_content, 0, 0, 0, 0, 206, 206, $imgarr[0], $imgarr[1]);//核心函数,改变二维码图片大小
imagepng($thumb_qr,$file_name); //$thumb_qr 底片,$file_name 相片内容
}
应该不难, 希望对你有帮助, 转载请注明: http://www.iooe.cn