最近在弄图片处理, 看网上在线生成的四色二维码挺有趣的。 自己弄了一个。
整体思路:
1. 用composer
的qrcode包生成一个黑白二维码。
2. 使用imagecolorat
获取当前像素的颜色
3. 如果当前颜色是黑色, 就使用imagesetpixel
填充彩色点
4. 其中一个比较有意思的就是需要判断当前像素点处于哪一块区域
/**
* 获取当前所在像素点的位置
* $x, $y 是当前像素位置,
* $block 是二维码有多少个色块,比如 4 个, 9个
*/
function getLocationIndex($x, $y, $block)
{
$x_index = (int) floor(