搜索
bottom↓
回复: 10

求一个好用的图片转C语言数组(矩阵)的软件

[复制链接]

出0入0汤圆

发表于 2017-3-7 21:22:10 | 显示全部楼层 |阅读模式
我现在用的是Img2Lcd软件,但是效果不是很好,图片最大输出只能是800x600。
最关键的是输出灰度只能是24位真彩色,有32位真彩选项,但是生成的数组有问题不能用(第4,8,12,16列没有色彩,如图所示)
而选用24位真彩方式则可以,有没有老哥用好的软件或者方式推荐,最好附上下载链接(主要是能输出32位真彩色数组)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-3-7 21:38:40 | 显示全部楼层
以下是转的

-----------------------------
常见的颜色有 8位 16位 24位 32位色,其中24位及以上称为真彩,是PC上最常用的颜色,其他基本用于嵌入式系统或一些工控领域,详情可查阅一下表格:
Bit-深度    色彩数
1           2 (monochrome)
2           4 (CGA)
4           16 (EGA)
8           256 (VGA)
16          65,536 (High Color, XGA)
24          16,777,216 (True Color/真彩色, SVGA)
32          16,777,216 (True Color + Alpha Channel/控制透明度,-游戏特效)
      关于256色,早先的一些较为形象的解释是理解为256个油漆桶/256色调色板,分配给它们编号/索引号。“叫到哪个颜色”哪个颜色就出来填充像素。因为如16色、256色的色彩数有限所以这么解释很简单易理解。然而电脑操作过程中必须经过数码编码,那么实际上256种颜色对应256个数码(二进制数值),也就是2^2 * 2^3 * 2^3 = 2^8 = 256。256色模式下电脑没有必要去按24bit处理,在当时DOS时代,处理8bit色彩比24bit要容易多了。

     当然256色中的任意一种颜色都可以用24bit表示,甚至可以用32bit,64bit表示。但是不管如何,24bit模式就意味着 17.7million种颜色。256色模式就意味着256种颜色,或者理解为24bit的17.7million种颜色中的256个颜色。
256色模式: 共8 bits (B: 2 bits; G: 3 bits; R: 3 bits)。
High color:共16 bits (B: 5 bits, G: 6 bits, R: 5 bits)。
True color:一般24bit就是8bit/通道,真彩色。
windows下的32位是R、G、B三个通道各占8位共24位,加上明度通道8位,所以是32位,24位也就是R、G、B三个通道各占6位共18位,加上明度通道6位,所以是24位。
32位色中的24位用来保存颜色信息(R8G8B8),另外的8位用来保存ALPHA信息,ALPHA属性就是透明度。
24位色也有几种表示,可以是R5G6B5,也可以是R5G5B5,等等

出0入0汤圆

 楼主| 发表于 2017-3-8 13:58:43 | 显示全部楼层
xiaowu191 发表于 2017-3-7 21:38
以下是转的

-----------------------------

感谢,我对于图像这块24位32位的具体原理不怎么清楚。
我想问下那我那个图片转数组的结果图,第4,8,12,16列0x00是正常现象吗?
前面的灰度输出我通过开发板都可以正常在显示器上显示,就是这个32位真彩转出来的C语言数组显示总是不对,输出变成几幅重叠的黑白版的图片

出0入0汤圆

发表于 2017-3-8 14:15:55 | 显示全部楼层
我也不清楚后面8位ALPHA信息是怎么定义的;
程序那里有改动吗?32位的话是4Bytes一个像素;

另外这是周立功的图片转换软件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出25入84汤圆

发表于 2017-3-8 15:59:02 | 显示全部楼层
xiaowu191 发表于 2017-3-8 14:15
我也不清楚后面8位ALPHA信息是怎么定义的;
程序那里有改动吗?32位的话是4Bytes一个像素;

非常感谢!

出0入93汤圆

发表于 2017-3-8 15:59:47 来自手机 | 显示全部楼层
xiaowu191 发表于 2017-3-7 21:38
以下是转的

-----------------------------

你这个24位的很新鲜,居然不是R8G8B8,这是什么套路?还有6位Alpha通道真是活久见

出0入93汤圆

发表于 2017-3-8 16:02:27 来自手机 | 显示全部楼层
xiaowu191 发表于 2017-3-7 21:38
以下是转的

-----------------------------

说实在的,像这样一本正经胡说八道的,您转过来的时候不自己先过滤一遍么?

出0入0汤圆

发表于 2017-3-8 16:40:17 | 显示全部楼层
takashiki 发表于 2017-3-8 16:02
说实在的,像这样一本正经胡说八道的,您转过来的时候不自己先过滤一遍么? ...

给你赞一个

出0入0汤圆

 楼主| 发表于 2017-3-8 16:44:37 | 显示全部楼层
xiaowu191 发表于 2017-3-8 14:15
我也不清楚后面8位ALPHA信息是怎么定义的;
程序那里有改动吗?32位的话是4Bytes一个像素;

感谢!!

出0入93汤圆

发表于 2017-3-8 16:45:46 来自手机 | 显示全部楼层
这个32位取色是没有问题的,windows bitmap也是这样的。关键在于有的软件强制要求alpha字节为0xFF才能显示不透明,为0这个像素就完全透明了,这个图片就完全看不见了!
当然windows自己的bmp格式本身就和我们常用的并不一致,所以就别纠结对错了。bmp事实上没有16位色,它的16位色实际上只有15位,为R5G5B5。
alpha不能表示颜色的数量,只是透明度,是覆盖在其他图像或被其他图像覆盖时进行颜色混合的比例。因此,32位色实际上也只能显示16,777,216种颜色。

出0入8汤圆

发表于 2017-3-8 17:00:08 | 显示全部楼层
本帖最后由 kebaojun305 于 2017-3-8 17:01 编辑

我以前是自己写脚本转换的,批量图片转成C文件。 还有索引文件。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-30 00:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表