這篇文章主要介紹了如何使用PHP掃描圖片轉(zhuǎn)點(diǎn)陣、二維碼轉(zhuǎn)點(diǎn)陣,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),象州企業(yè)網(wǎng)站建設(shè),象州品牌網(wǎng)站建設(shè),網(wǎng)站定制,象州網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,象州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
PHP掃描圖片轉(zhuǎn)點(diǎn)陣 二維碼轉(zhuǎn)點(diǎn)陣
/** * 圖片轉(zhuǎn)點(diǎn)陣(黑白) * @param string $imgPath * @return array */ function imgToLattice(string $imgPath): array { $size = getimagesize($imgPath);// 得到圖片的信息 $im = imagecreatefrompng($imgPath);// 創(chuàng)建一張圖片 // 儲(chǔ)存二進(jìn)制數(shù)組 $lattice = []; $white = [ 'red' => 255, 'green' => 255, 'blue' => 255, 'alpha' => 0, ]; for ($i = 0; $i < $size[1]; ++ $i) { $lattice[$i] = ''; for ($j = 0; $j < $size[0]; ++$j) { $rgb = imagecolorat($im, $j, $i); //取得某像素的顏色索引值 $rgbArr = imagecolorsforindex($im, $rgb); if ($white === $rgbArr){ $lattice[$i] .= 0; }else{ $lattice[$i] .= 1; } } } return [$lattice, $size]; }
注解:
$rgbArr = imagecolorsforindex($im, $rgb);
這里返回一個(gè)RGB數(shù)組,跟$white數(shù)組一樣,我因?yàn)槎S碼只有黑白,所以這里只做了黑白判斷,黑就是1,白就是0,如果你的圖片支持三種級(jí)以上,這里可以做判斷,拼接其他數(shù)字
if ($white === $rgbArr){ $lattice[$i] .= 0;}else{ $lattice[$i] .= 1;}
打印出來(lái)效果:
轉(zhuǎn)成HTML:
參考代碼:
$this->image就上面PHP生成的數(shù)據(jù),替換成自己的就行了
"; foreach ($this->image as $item) { $str .= $this->getBinaryOutRow($item); } $str .= "