zoukankan      html  css  js  c++  java
  • 图片信息

    颜色空间

    用RGB模式表示颜色是颜色空间的其中一种分类,它是众多存储颜色方法中的一种,另一种颜色空间是灰阶空间。所有的图形只有黑色和白色。我这里推荐一篇翻译文章:IOS中图形图像处理第一部分:位图图像原图修改,虽然不是很详细,但是起码讲解很生动。

    颜色深度

    颜色深度标准通常有以下几种:

    8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。

    16位增强色,16位彩色,每个像素所能显示的彩色数为2的16次方,即65536种颜色。

    24位真彩色,每个像素所能显示的彩色数为24位,即2的24次方,约1680万种颜色。

    32位真彩色,即在24位真彩色图像的基础上再增加一个表示图像透明度信息的Alpha通道。

    例如:一个使用16位存储的图片,可能5位表示红色,5位表示绿色,5位表示蓝色,,一位是alpha。在这种情况下,它要么表示透明要么不是。一个使用32位存储的图片,每8位表示红绿蓝,和alpha通道。在这种情况下,就不光可以表示透明还是不透明,alpha通道还可以表示256级的半透明度。

    下面举例RGB颜色空间下的不同的存储格式:

    1. A8R8G8B8 : a,r, g ,b都占用了8位,一个像素占用4个字节

    2. A1R5G5B5 : 16位,一个像素占用两个字节,alpha通道用1位表示

    3. ARGB4444 : 16位,一个像素占用两个字节,alpha通道占了4位

    4. RGB888 : 没有alpha通道,不透明图片,一个像素占用三个字节,24位真彩色

    5. RGB565 : 一个像素占用两个字节,16位真彩色

    为了优化显示效率和减少内存占用,我们可以根据app的实际应用情景,使用合适的颜色深度的图片。这在游戏中更是一种经常使用的优化方法。

    alpha通道

    alpha通道在不同的图片颜色深度下,保存的信息不同

    通常,alpha通道是一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域,其中黑表示全透明,白表示不透明,灰表示半透明。

  • 相关阅读:
    Linux下 printf 输出字符串的颜色
    ARM指令集详解(超详细!带实例!)
    试试代码框
    java web各种listener
    mysql 技术支持
    Tomcat 技术支持
    关于PreparedStatement.addBatch()方法
    JQuery banner 轮播
    Extjs 提示窗口
    如何删除JSP编译后的空行
  • 原文地址:https://www.cnblogs.com/YungMing/p/4342185.html
Copyright © 2011-2022 走看看