美文网首页
Bitmap图片那点事

Bitmap图片那点事

作者: liaowenhao | 来源:发表于2017-07-23 14:36 被阅读19次

    Bitmap 在内存当中占用的大小影响因素

    1. 色彩格式,如果是 ARGB8888 那么就是一个像素4个字节,如果是 RGB565 那就是2个字节
    2. 原始文件存放的资源目录(是 hdpi 还是 xxhdpi 可不能傻傻分不清楚)
    3. 目标屏幕的密度(同等条件下,红米在资源方面消耗的内存是要小于三星S6的)
    4. 图片的像素宽高
      参考

    图片格式大小及内存占用大小的差别

    1. 图片大小与内存占用大小的差别
      虽然JPG通常会比png文件size更小,但是读到内存中的大小并没有实质差别。
    1. Google全新的WebP格式
      WebP具有更优的图像数据压缩算法,能带来更小的图片体积,而且拥有肉眼识别无差异的图像质量;同时具备了无损和有损的压缩模式、Alpha 透明以及动画的特性,在 JPEG 和 PNG 上的转化效果都相当优秀、稳定和统一。参考
      相较于传统动态GIF/GIF/JPG/PNG,体积优势明显。
      WebP与其它格式文件对比

    2. GIF/JPG/PNG/WebP比较
      GIF是无损的,采用索引色的,点阵图。支持动画及透明度。
      JPG(JPEG)是有损的,采用直接色的,点阵图。无aplpha通道。jpg 的图像压缩算法比 png 耗时,这种编码适用于低对比,图像颜色过渡平滑,噪声多,且结构不规则的情况下。
      PNG-8是PNG的索引色版本,是无损的,采用索引色的,点阵图。支持透明度调节。
      PNG-24是PNG的直接色版本,是无损的,使用直接色的,点阵图。
      WebP是同时支持有损和无损压缩的,使用直接色的,点阵图。支持图片透明度。
      图片大小比较:通常地,PNG ≈ JPG > GIF > WebP
      参考

    3. 选择适合的图片压缩格式


      选择适合的图片压缩格式

    Bitmap与Drawable

    1. 定义
      Bitmap存储图片的像素信息
      Drawable为抽象类,表示可被绘画的容器。Drawable具体实现的形式可以为:Bitmap/Nine/Shape/Layers/States/Levels/Scale。
    2. 转化
      BitmapDrawable是Drawable的具体实现类,可通过构造函数将Bitmap转成Drawable,也可从BitmapDrawable从获取Bitmap。
      参考

    RGB(three-digit converted to six-digit)

    (#f03) == (#ff0033)
    expalain:The three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros. For example, #fb0 expands to #ffbb00. This ensures that white (#ffffff) can be specified with the short notation (#fff) and removes any dependencies on the color depth of the display.

    相关文章

      网友评论

          本文标题:Bitmap图片那点事

          本文链接:https://www.haomeiwen.com/subject/yvkmkxtx.html