Android培训班(25)

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

其中Android.mk是工程管理文件,to565.c是源程序,就是实现原始图片生成565格式,或者从565格式的图片生成原始格式。那么什么样的格式叫做原始格式呢?什么样的格式叫做565格式呢?为什么需要使用565格式呢?在我们表达图片的颜色空间里,主要使用红、绿、蓝三种颜色,在数字化后,每种颜色采用8位表达,那么每个点占用的大小,就是24位,这样的方式保存到文件里,就是原始格式,因为没有任何的变换。不过采用这种格式时,文件会比较大,特别在嵌入系统里空间特别有限,因此需要转换为一种在颜色和空间大小占用都比较合理的方式。而这种方式,就是565的格式,当然这种方式是以损失颜色精度为条件的。在565格式里,就是红色占5位,绿色占6位,蓝色占5位,刚好16位,采用两个字节就可以表达了,这样比原来每个点少占用一个字节。

接着来分析这个程序的代码,先从main函数开始:

int main(int argc, char **argv)

{

if ((argc == 2) && (!strcmp(argv[1],"-rle"))) {

在这里判断输入的命令行参数是否等于三个,一个命令行参数-rle,这个参数是表示使用游程编码压缩。后面两个参数,一个是表示文件输入,一个是表示文件输出。

 

to_565_rle();

在这里调用函数 to_565_rle把原始格式转换为565的格式,并且使用游程编码压缩后,再输出到文件里。

 

} else {

if (argc > 2 && (!strcmp(argv[1], "-w"))) {

如果超过三个参数,并且有参数为-w,那么就执行下面的代码。

 

to_565_raw_dither(atoi(argv[2]));

这里调用函数 to_565_raw_dither实现带抖动算法的565编码格式输出。

 

} else {

to_565_raw();

这里调用函数to_565_raw实现原始的565格式输出。

}

}

return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值