52ky 发表于 2023-9-10 00:30:01

易语言源码打造自己的"二维码" 把数据保存到图片,

代码只是一个过程,主要还是看你自己的思考。

原理介绍:

1、一个像素占用4个字节。它们是 r、g、b 和 a。对于可打印的情况,a 通道被忽略。所以有三个可用字节。他们是r/g。 /b。

考虑到像素会失真,色差越大越容易识别。那么为什么大多数二维码都是黑白的呢?

当然,也有彩色的。但背景必须是亮的,像素必须是暗的。前景色和背景色越接近,扫描所需的时间就越长。

2、如何将数据转换成像素写入图片中?

已知 1 个像素(4 个字节),还有 3 个字节可用。直接将数据字节填充到某个像素的这3个字节中?

当然可以,但是你必须考虑到大多数情况。转换图像格式时,会出现像素偏差。 (由于涉及公司项目,无损格式就不详细讨论了,请大家自行斟酌。)

将数据转换为二进制。一个整数占用32位。一个字节占用8位。只有0和1,分别对应像素0和255。

当然,相应的占用的尺寸也更多。例如4个字节的整数需要占用32/3个像素(剩下的字节后面会用到)

恢复数据时,以127为临界值。如果小于或大于127,则恢复为0或1。这样就解决了图像格式转换带来的像素偏差问题。

最后恢复这些二进制文件。



页: [1]
查看完整版本: 易语言源码打造自己的"二维码" 把数据保存到图片,