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: 2024-12-27 12:28:31 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) 获取彩色二维码的输出,不直接显示