chapdel/qr-code 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

chapdel/qr-code

最新稳定版本:1.0

Composer 安装命令:

composer require chapdel/qr-code

包简介

A powerful PHP library for generating styled QR codes

README 文档

README

A powerful PHP library for generating styled QR codes with support for:

  • 🎨 SVG & Raster (PNG, JPG, GIF) Output
  • 🌈 Gradients (Linear & Radial)
  • 🔴 Custom Dot Styles (Rounded, Classy, Classy-Rounded, Dots, Square)
  • 🖼️ Logo Integration (Centered images with background clearing)
  • 🎭 Predefined Themes (Facebook, Organic, Neon, etc.)
  • 🔧 Custom Renderers (Draw your own shapes via PHP closures)
  • Animated GIFs (Create rotating gradient animations)

Installation

composer require chapdel/qr-code

Note: The imagick extension is recommended for high-quality raster output (PNG/JPG/GIF) and custom shapes in raster mode. GD is used as a fallback for basic squares.

Usage

Basic Example

use Chapdel\Qr\QRCodeStyling;

$qr = new QRCodeStyling([
    'data' => 'https://example.com',
    'image' => 'https://link-to-your-logo.com/logo.png',
    'dotsOptions' => [
        'type' => 'rounded',
        'color' => '#4267b2'
    ],
    'backgroundOptions' => [
        'color' => '#ffffff',
    ]
]);

// Output SVG
header('Content-Type: image/svg+xml');
echo $qr->getRawData('svg');

Advanced Styling with Gradients

$qr = new QRCodeStyling([
    'data' => 'https://example.com',
    'dotsOptions' => [
        'type' => 'classy-rounded',
        'gradient' => [
            'type' => 'linear',
            'rotation' => 45,
            'colorStops' => [
                ['offset' => 0, 'color' => '#ff0000'],
                ['offset' => 1, 'color' => '#0000ff']
            ]
        ]
    ],
    'cornersSquareOptions' => [
        'type' => 'extra-rounded', 
        'color' => '#000000'
    ]
]);

Using Helpers for Content

Easily generate special content like WiFi, vCard, or SMS without knowing the raw syntax.

use Chapdel\Qr\Helper\QRContent;

$wifiData = QRContent::wifi('MyHomeNetwork', 'SecretPassword', 'WPA');
// WIFI:T:WPA;S:MyHomeNetwork;P:SecretPassword;;

$qr->update(['data' => $wifiData]);

Applying Themes

Apply professional styles instantly using predefined themes.

$qr->applyTheme('facebook'); 
// Automatically sets colors, logo, and shapes to match Facebook branding.

$qr->applyTheme('dark-neon'); 
// Sets a dark background with neon gradients.

Custom Shapes (Advanced)

Define your own dot renderer using a Closure. This allows you to draw any SVG path for the QR modules.

$qr->update([
    'dotsOptions' => [
        'type' => 'custom',
        'renderer' => function($x, $y, $size, $color) {
            // Draw a star, heart, or specific icon
            return '<path d="..." fill="'.$color.'"/>';
        }
    ]
]);

Animated GIF

Generate an animated QR code (requires Imagick).

$gifBinary = $qr->getRawData('gif');
file_put_contents('animated_qr.gif', $gifBinary);

Supported Options

Option Category Key Features
dotsOptions Types: square, dots, rounded, extra-rounded, classy, classy-rounded, custom. Gradient support.
cornersSquareOptions Types: square, dot, extra-rounded, none. Separate colors/gradients.
cornersDotOptions Types: square, dot. Separate colors/gradients.
backgroundOptions Color, Gradient, Rounding (border-radius).
imageOptions hideBackgroundDots (clears dots behind logo), imageSize, margin.
qrOptions typeNumber (Version 0-40), errorCorrectionLevel (L, M, Q, H).

Requirements

  • PHP 8.2+
  • ext-gd (Standard fallback)
  • ext-imagick (Recommended for advanced raster features)

License

MIT

统计信息

  • 总下载量: 79
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固