• 关于图片色彩位深度与颜色模式(待完善)


    色彩位深度表示一个像素可以表示多少种颜色,它导致的失真是色彩的丢失,常见的位深度有:

    • 8位:一个像素可表示2的8次方即256种颜色,占用1个字节
    • 16位:一个像素可表示2的16次方即65,536种颜色,占用2个字节
    • 24位:一个像素可以表示2的24次方即16777216种颜色,占用3个字节,24位及以上称为真彩色。
    • 32位:一个像素可以表示2的32次方即42944967296种颜色,占用4个字节。

    颜色模式表示一个像素中颜色通道的占位情况,它决定了像素能表示的颜色的细节多少,它导致的失真是颜色细节的丢失(色阶,色调,色温?)。如Android中定义的颜色模式有

    • ARGB_8888:ARGB 四个通道的值都是 8 位,加起来 32 位,也就是 4 个字节。每个像素点占用 4 个字节的大小。能表示最完整的颜色细节。
    • ARGB_4444:ARGB 四个通道的值都是 4 位,加起来 16 位,也就是 2 个字节。每个像素点占用 2 个字节的大小。
    • RGB_565:RGB 三个通道分别是 5 位、6 位、5 位,没有 A 通道,加起来 16 位,也就是 2 个字节。每个像素点占用 2 个字节的大小。
    • ALPHA_8:只有 A 通道,占 8 位,1 个字节。每个像素点占用 1 个字节的大小。

    从这两种维度上都可以压缩图片,在移动端开发中特别常见,但两者的使用范围不一样:

    色彩位深度压缩:适用于压缩色彩单一,内容简单的图片资源,因为其压缩后损失的是颜色,只要图片中没有复杂的颜色就不会失真。在Windows中,通过查看图片的属性,可以知道色彩位深度信息:

    通过AndroidStudio预览图片,也可以查看到该信息:

    颜色模式压缩:适用于颜色细节少,或者不需要alpha的图片资源,压缩后损失的是颜色细节,如果本身没有太多细节,就几乎可以认为没有失真。

     需要根据实际情况选择使用

  • 相关阅读:
    day17_sql优化——AWR
    [笔记]《HTTP权威指南》- 媒体类型和字符集
    分析 webpack 打包后的代码
    跨站点请求伪造(CSRF)
    如何定制 fis3-jello
    [翻译]简单的实现一个Promise
    浏览器的 bfcache 特性
    Linux 下搭建 FTP 服务器
    better-scroll 源码分析
    [笔记]移动端的 viewport 和各种像素区分
  • 原文地址:https://www.cnblogs.com/oxgen/p/13597650.html
Copyright © 2020-2023  润新知