php phpqrcode 生成带颜色的二维码 定位角 内容 和背景色
2021/7/14 11:05:08
本文主要是介绍php phpqrcode 生成带颜色的二维码 定位角 内容 和背景色,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
下载qrcode
phpqrcode下载 https://sourceforge.net/projects/phpqrcode/
简单重写了一下二维码生成方法
默认的是背景 0,0,0 内容 255,255,255
找到 类QRimage下的image方法
复制替换
private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4,$color=[])
{
$h = count($frame);
$w = strlen($frame[0]);
$imgW = $w + 2*$outerFrame;
$imgH = $h + 2*$outerFrame;
$base_image =ImageCreate($imgW, $imgH);
if(empty($color[0]) || (count($color[0]) < 3)){
$color[0] = [255,255,255];
}
if(empty($color[1]) || (count($color[1]) < 3)){
$color[1] = [0,0,0];
}
if(empty($color[2]) || (count($color[2]) < 3)){
$color[2] = [0,0,0];
}
$col[0] = ImageColorAllocate($base_image,$color[0][0],$color[0][1],$color[0][2]);
$col[1] = ImageColorAllocate($base_image,$color[1][0],$color[1][1],$color[1][2]);
$col[2] = ImageColorAllocate($base_image,$color[2][0],$color[2][1],$color[2][2]);
imagefill($base_image, 0, 0, $col[0]);
for($y=0; $y<$h; $y++) {
for($x=0; $x<$w; $x++) {
if ($frame[$y][$x] == '1') {
if(($y <= 7 ) && ($x <= 7|| $x >= $w-7)){
$key = 2;
}else if($y >= $h-7 && $x <= 7){
$key = 2;
}else{
$key = 1;
}
ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[$key]);
}
}
}
// ImageCreate
// imagecreatetruecolor PNG图片背景透明用这个
$target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
ImageDestroy($base_image);
return $target_image;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
调用的时候多了一个参数$color 格式如下
// rbg颜色
$color = [
[255,255,255],//背景色
[227,28,52],//定位角的颜色
[247,134,0],//中间内容的颜色
];
1
2
3
4
5
6
一定是rbg格式的颜色值
$color = [
[255,255,255],//背景色
[227,28,52],//定位角的颜色
[247,134,0],//中间内容的颜色
];
$qrcode->png($data, 'qRcode.png', $level, $size,2,false,$color);
1
2
3
4
5
6
效果 ↓↓
需要注意的是 $color 传参的地方需要修改的方法有点多 调用了好多方法 但是都不难找 看源码加一下参数就好了
或者下载我改好的phpqrcode.php
https://github.com/zlzlzlzlzlzlzl/qrcode-color
替换后 创建$color参数就可以调用了
————————————————
版权声明:本文为CSDN博主「that中间偏右」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44589491/article/details/104708412
这篇关于php phpqrcode 生成带颜色的二维码 定位角 内容 和背景色的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享
- 2024-11-01开源 PHP 商城项目 CRMEB 安装和使用教程
- 2024-11-01用php和mysql写无限分类,有哪几种方法-icode9专业技术文章分享
- 2024-10-31php数据分表导出时部分数据无法导出什么原因-icode9专业技术文章分享
- 2024-10-30有经验的 PHP 开发者学习一门新的编程语言,有哪些推荐的有前景的语言-icode9专业技术文章分享
- 2024-10-21php 检测图片是否篡改过-icode9专业技术文章分享
- 2024-10-20fruitcake/php-cors 该怎么使用-icode9专业技术文章分享
- 2024-10-18PHP7.1可以使用哪个版本的swoole-icode9专业技术文章分享