在弄公众号海报功能时,用phpqrcode生成的二维码固定大小

在开发公众号海报功能时, 要生成一个二级码。 用的是phpqrcode库, 但是到到生成的二维码, 大小与给定的内容有关。 大小不确定。 网上有一个改phpqrcode原代码方式, 我发现有一个方法也可行:

  1. 生成代码时,用 imagecopyresampled()函数进行处理
imagecopyresampled($thumb_qr, $img_content, 0, 0, 0, 0, 206, 206, $imgarr[0], $imgarr[1]);//核心函数,改变二维码图片大小
  1. 在处理前先把生成的二维码图片大小读出来,用getimagesize()方法。
   //获取图片信息, 这里取 宽, 高
  $imgarr = getimagesize($qr_code);

这个数组里面有图片的, 宽, 高  ,把它丢到1步中的函数 9,10个参数中, 具体看代码
  1. 在把数据中的 宽,高放入到修改文件大小的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

发表评论