PHP修改图片颜色(生成彩色二维码)

最近在弄图片处理, 看网上在线生成的四色二维码挺有趣的。 自己弄了一个。

整体思路:

  1. composerqrcode包生成一个黑白二维码。
  2. 使用imagecolorat获取当前像素的颜色
  3. 如果当前颜色是黑色, 就使用imagesetpixel填充彩色点
  4. 其中一个比较有意思的就是需要判断当前像素点处于哪一块区域
/**
* 获取当前所在像素点的位置
* $x, $y 是当前像素位置,
* $block 是二维码有多少个色块,比如 4 个, 9个
*/
function getLocationIndex($x, $y, $block)
{
    $x_index = (int) floor($x / ($img_width / $block));
    $y_index = (int) floor($y / ($img_height / $block));
    // 接下来的这个 $index 就是当前像素点算出来处于第几个色块
    $index = $x_index + (2 * $y_index);
    
    return $index;
}

效果图:


四色二维码九色二维码图片二维码github


然后我进行了封装,代码也放到了Github上面, 支持composer安装,又需要的朋友可以看一下。顺便来个star 最后祝大家每一天都是快乐*\(^_^)/* github地址:https://github.com/WaitMoonMan/qrcodeplus

转载于:https://my.oschina.net/u/3220489/blog/1358973

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值