当前位置:Gxlcms > PHP教程 > Laravel使用PHPQRCODE生成带有LOGO的二维码图片

Laravel使用PHPQRCODE生成带有LOGO的二维码图片

时间:2021-07-01 10:21:17 帮助过:61人阅读

本文主要和大家介绍Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能,涉及php引入PHPQRCODE类生成二维码图片的相关调用与设置操作技巧,需要的朋友可以参考下,希望能帮助到大家。


  1. /**
  2. * 利用phpqrcode来实现生成带有logo的二维码图片
  3. */
  4. public function getQrCode(Request $request){
  5. $type = $request->input('type');//传递的类型 ios | android
  6. require_once(dirname(__FILE__) . '/phpqrcode/' . 'phpqrcode.php');
  7. $errorCorrectionLevel = 'H'; // 错误校正
  8. $matrixPointSize = 5; // 边界空白位置
  9. $QRcode = new \QRcode;
  10. if($type){
  11. if($type == 'ios'){
  12. $value = 'http://www.ios.com'; // 二维码存放的内容
  13. $QRcode->png($value, 'ios.png', $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
  14. //echo "二维码已生成";
  15. $logo = 'logo.png';//logo的图片地址
  16. //echo " <img src='../../../public/logo.png'>";
  17. $QR = 'ios.png'; //二维码图片地址
  18. //echo " <img src='../../../ios.png'>";
  19. if($logo !== FALSE){
  20. $QR = imagecreatefromstring(file_get_contents($QR));
  21. $logo = imagecreatefromstring(file_get_contents($logo));
  22. $QR_width = imagesx($QR);
  23. $QR_height = imagesy($QR);
  24. $logo_width = imagesx($logo);
  25. $logo_height = imagesy($logo);
  26. $logo_qr_width = $QR_width / 5;
  27. $scale = $logo_width / $logo_qr_width;
  28. $logo_qr_height = $logo_height / $scale;
  29. $from_width = ($QR_width - $logo_qr_width) / 2;
  30. imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
  31. }
  32. imagepng($QR,'ios.png'); //跟logo合并之后的地址
  33. $a = 'http://www.ios.com/ios.png';
  34. $status = 0;
  35. $msg = $a;
  36. }elseif($type == 'android'){
  37. $value = 'http://www.android.com'; // 二维码存放的内容
  38. //var_dump($value);
  39. $QRcode->png($value, 'android.png', $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
  40. //echo "二维码已生成";
  41. $logo = 'logo.png';//logo的图片地址
  42. //echo " <img src='../../../public/logo.png'>";
  43. $QR = 'android.png'; //二维码图片地址
  44. //echo " <img src='../../../android.png'>";
  45. if($logo !== FALSE){
  46. $QR = imagecreatefromstring(file_get_contents($QR));
  47. $logo = imagecreatefromstring(file_get_contents($logo));
  48. $QR_width = imagesx($QR);
  49. $QR_height = imagesy($QR);
  50. $logo_width = imagesx($logo);
  51. $logo_height = imagesy($logo);
  52. $logo_qr_width = $QR_width / 5;
  53. $scale = $logo_width / $logo_qr_width;
  54. $logo_qr_height = $logo_height / $scale;
  55. $from_width = ($QR_width - $logo_qr_width) / 2;
  56. imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);
  57. }
  58. imagepng($QR,'android.png'); //跟logo合并之后的地址
  59. $a = 'http://www.android.com/android.png';
  60. $status = 0;
  61. $msg = $a;
  62. }else{
  63. $status = 1;
  64. $msg = '没有该类型!';
  65. }
  66. //QRcode::png($value, 'sunny.png', $errorCorrectionLevel, $matrixPointSize, 2); //生成二维码
  67. }else{
  68. $status = 2;
  69. $msg = '参数传递不完整!';
  70. }
  71. return response()->json(['status' => $status,'msg' => $msg])->header('Access-Control-Allow-Origin', '*');
  72. }

相关推荐:

JavaScript实现的微信二维码图片生成器的示例

php生成二维码图片方法汇总

java中ZXing 生成、解析二维码图片的小示例

以上就是Laravel使用PHPQRCODE生成带有LOGO的二维码图片的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行