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

DavidNineRoc發表於2017-10-27

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

整體思路:

  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


然後我進行了封裝,程式碼也放到了Github上面, 支援composer安裝,又需要的朋友可以看一下。順便來個star
最後祝大家每一天都是快樂*\(^_^)/*
github地址:github.com/WaitMoonMan…

相關文章