ALPHA_8ARGB_4444ARGB_8888RGB_565等图片格式的使用
Posted 肥宝Fable
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ALPHA_8ARGB_4444ARGB_8888RGB_565等图片格式的使用相关的知识,希望对你有一定的参考价值。
本文来自肥宝传说之路,引用必须注明出处!
其实如果是小制作,并没有什么卵用。各种格式中,每种都有自己的优点和缺点,我们并无技术创建一种格式,只是在选择最优格式而已。
对于不同的图片资源,有不同的作用,自然可以选择不同的格式。各种脚本是将写着选择固化起来,方便使用,同时提高效率。
ARGB的含义:
A:alpha 通道,程序员当做透明度来了解就行了,想深入了解一下点这里
R:red 红色
G:green 绿色
B:blue 蓝色
ps:这是光的三原色,颜料的三原色是红黄蓝
ALPHA_8:每个像素只有四位,只有透明度,没有颜色,老实说,我不知道这是干嘛用的,黑白图么
ARGB_4444:每个像素占4位,A4、R4、G4、B4,加起来16位,比起ARGB_8888,占用空间更小,但是精度小了
ARGB_8888:A8、R8、G8、B8,加起来32位,同样像素的图片,比上面的大一倍了。
RGB_565:R5、G6、B5,加起来16位,这个不能表示空白的地方
应该还有其他格式的。
在实际应用中,要根据具体的具体的使用要求来进行使用。例如一张地图,肯定不会出现空白透明的地方,所以可以选用不带alpha通道的格式。
而人物,肯定会有透明的地方。
还有一个游戏,或者应用中,肯定是在最开始的功能,最好使用精度最高的图片。
一般情况下,例如做demo,做大作业,做练习,是不需要考虑这些问题的。但是实际应用中,这个问题必须解决。尤其在天朝这种低网速,而且手机容量不够的情况下。
说个实际的,一个MMO手机游戏,图片大小可能占超过98%的容量。
什么都不管,全用ARGB_8888,最终400多M,一个普通游戏,可能玩家见到这么大,就没兴趣下载了。
然后我们把地图,改成RGB_565这一类,没有透明度的图片,缩小了很多。
还有把一些后期功能,不重要的功能,例如一些小怪,压缩,从像素上压缩。
还有图片重用,在这个副本是大boss,下一个副本是小怪。
最后还是有差不多200M。
其实,这还是很大的。有些应用平台,还直接要求,我们的游戏包不能超过50M。
实在没办法了,再压缩就变得自己都觉得对不起观众了。
于是我们把60级以后的图片删除掉,玩家玩到某个节点的时候,就提示要求玩家点击下载新的包。或者在游戏过程中,也偷偷下载新的图片。
为了这个做了好多奇奇怪怪的处理。图片这一块很蛋疼。
以上是关于ALPHA_8ARGB_4444ARGB_8888RGB_565等图片格式的使用的主要内容,如果未能解决你的问题,请参考以下文章
我无法让 vImage(加速框架)将 420Yp8_Cb8_Cr8(平面)转换为 ARGB8888