繁体   English   中英

Arduino eInk Image2LCD-C阵列的大小

[英]Arduino eInk Image2LCD - Size of c-array

此Image2LCD软件( https://www.buydisplay.com/default/image2lcd )将图像转换为c数组。 我想自己写这个基本操作,但是我不明白为什么软件为大小为200x200的输入图像输出长度为5000的数组。 对于400x400,数组大小为20000。似乎总是像素数的1/8。

正方形200x200图片的输出数组的开始和结束是这样的:

const unsigned char gImage_test[5000] = { /* 0X00,0X01,0XC8,0X00,0XC8,0X00, */
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X60,0X00,0X00,0X00,0X00,
0X3C,0X60,0X00,0X0C,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X70,0X00,0X00,0X00,0X00,0X7E,0X70,0X00,0X0E,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X78,0X00,0X00,
0X00,0X00,0X7F,0X78,0X00,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0XFC,0X3C,0X3E,0X3C,0X3F,0XF8,0X3C,0X7F,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X7F,

...

,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,};

(是的,图像中有很多白色。)

为什么每个像素都不需要一个值?

从臀部射击在这里,但如果你使用单色,你只需要每像素(字节= 8比特)的一个 可以将这些位打包为字节以提高存储效率。 说图片的前8个像素是:

0 1 0 0 0 0 0 1  

如果将这八位解释为一个二进制数,则为1000001 ,即十进制为65因此,仅将65以8位整数存储(仅占用一个字节)将存储所有8个单色像素。 不利之处在于,它不像将每个像素作为数组中的单独值那样直观。

我可能是错的,但是这种压缩直接达到了1/8分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM