rotoos / color-qrcode
生成彩色二维码
    v1.0.9
    2023-03-23 06:11 UTC
Requires
- php: >=7.1
 - ext-gd: *
 - endroid/qr-code: ^3.0
 
This package is not auto-updated.
Last update: 2025-10-31 16:14:21 UTC
README
介绍
彩色二维码
软件架构
软件架构说明
安装教程
composer require rotoos/color-qrcode
使用说明
<?php
require 'vendor/autoload.php';
use rotoos\colorQrcode\Factory;
use rotoos\colorQrcode\QrCodePlus;
/****************************************
 * 通过工厂方法,获取到你想创建二维码的样式(支持四格彩码与九格彩码)
 * 现在仅有:color, image
 ****************************************/
$color = Factory::color(['#087', '#431', '#a2d', '#a2d',]);//四格彩色
$color = Factory::color(['#431', '#a2d', '#087', '#a2d','#431','#087','#a2d', '#087', '#a2d',]);//九格彩色
// $image = Factory::image(imagecreatefrompng('Rotoos.png'));
/****************************************
 * 实例化对象,并在 output 方法传入
 * $color 或者 $image
 ****************************************/
(new QrCodePlus)
    ->setText('rotoos')
    ->setMargin(50)
    ->setOutput(function($handle){
        header('Content-Type: image/jpeg');
        imagejpeg($handle);
    })
    ->output($color);
 或者   
(new QrCodePlus)
    ->setText('rotoos') //生成的文本
    ->setMargin(50)
    ->setOutput(function($handle){
        header('Content-Type: image/png');
        $picpath = './'; //存放图片的目录
        if(!is_dir($picpath)){
            mkdir($picpath,0777,true);
        }
        $imgname = $picpath."rotoos.png"; //生成的文件地址
        imagepng($handle,$imgname);
    })
    ->output($color);
其他
MultipleColor Factory::color($hexColor = [], $alpha = 1)
创建一个颜色实例 参数一为十六进制颜色数组,颜色数量可为四,六,九 参数二为透明度
ImageStyle Factory::($sourceImage = '', $alpha = 1)
创建一个图片实例 参数一为图片源,可为图片字符串和资源句柄 参数二为透明度
QrCodePlus QrcodePlus::setText($text)
设置二维码的文字 setMargin(), setSize()方法都是基于基类QrCode 更多方法:https://github.com/endroid/qr-code
Qrcodeplus QrcodePlus::setOutput(Closure $closure)
设置响应头输出,默认输出image/png 可自行在中运行输出 闭包只有一个参数那就是图片句柄,用于输出
void QrcodePlus::output(PlusInterface $qrcode)
输出彩色二维码 参数必须为 PlusInterface 实例 也就是通过Factory::color()或者Factory::image()返回的实例 string QrcodePlus::getOutput(PlusInterface $qrcode) 获取彩色二维码的输出,不直接显示