如何使用PHP扫描图片转点阵、二维码转点阵
这篇文章主要介绍了如何使用PHP扫描图片转点阵、二维码转点阵,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司是一家集网站建设,象州企业网站建设,象州品牌网站建设,网站定制,象州网站建设报价,网络营销,网络优化,象州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
PHP扫描图片转点阵 二维码转点阵
/**
* 图片转点阵(黑白)
* @param string $imgPath
* @return array
*/
function imgToLattice(string $imgPath): array
{
$size = getimagesize($imgPath);// 得到图片的信息
$im = imagecreatefrompng($imgPath);// 創建一張圖片
// 储存二进制数组
$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);
这里返回一个RGB数组,跟$white数组一样,我因为二维码只有黑白,所以这里只做了黑白判断,黑就是1,白就是0,如果你的图片支持三种级以上,这里可以做判断,拼接其他数字
if ($white === $rgbArr){
$lattice[$i] .= 0;}else{
$lattice[$i] .= 1;}打印出来效果:
转成HTML:
参考代码:
$this->image就上面PHP生成的数据,替换成自己的就行了
"; foreach ($this->image as $item) { $str .= $this->getBinaryOutRow($item); } $str .= "


咨询
建站咨询