PHP修改圖片顏色(生成多色二維碼)

最近在弄圖片處理, 看網上在線生成的四色二維碼挺有趣的。 本身弄了一個。git

總體思路:github

  1. composerqrcode包生成一個黑白二維碼。composer

  2. 使用imagecolorat獲取當前像素的顏色spa

  3. 若是當前顏色是黑色, 就使用imagesetpixel填充彩色點code

  4. 其中一個比較有意思的就是須要判斷當前像素點處於哪一塊區域blog

/**
* 獲取當前所在像素點的位置
* $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/qrcodeplusrem

相關文章
相關標籤/搜索