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

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

總體思路:github

  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;
}

效果圖:composer


四色二維碼 九色二維碼 圖片二維碼 github


而後我進行了封裝,代碼也放到了Github上面, 支持composer安裝,又須要的朋友能夠看一下。順便來個star 最後祝你們每一天都是快樂*\(^_^)/* github地址:https://github.com/WaitMoonMan/qrcodepluscode

相關文章
相關標籤/搜索