Bitmap类01_浅探

Bitmap类解析

Bitmap类是对图像进行处理的类,可以获取图像信息,进行图像颜色变换等操作

在安卓中,Bitmap指的是一张图片,可以是 .png 或者 .jpg 等其他常见的图像格式

参考API:

Bitmap | Android Developers

Bitmap - Android中文版 - API参考文档 (apiref.com)

如何使用Bitmap加载图片

需要使用 BitmapFactory 类提供的四个方法:

decodeFile() :从文件中加载Bitmap对象

decodeResource() :从资源中加载Bitmap对象

decodeStream() :从输入流中加载Bitmap对象

decodeByteArray() :从字节数组中加载Bitmap对象

使用举例:

从资源中加载一张命名为 test 的图片,再加载到 ImageView 控件中

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
imageView.setImageBitmap(bitmap);

Bitmap颜色配置

Bitmap类中有两个枚举类,其中一个为Config类,用于配置颜色信息:

image-20211118222049929

解析:

Bitmap.Config.ALPHA_8 :颜色信息只由透明度组成,占8位。

Bitmap.Config.ARGB_4444:颜色信息由透明度与R(Red),G(Green),B(Blue)四部分组成,每个部分都占4位,总共占16位。

Bitmap.Config.ARGB_8888:颜色信息由透明度与R(Red),G(Green),B(Blue)四部分组成,每个部分都占8位,总共占32位。是Bitmap默认的颜色配置信息,也是最占空间的一种配置。

Bitmap.Config.RGB_565:颜色信息由R(Red),G(Green),B(Blue)三部分组成,R占5位,G占6位,B占5位,总共占16位。

通常我们优化Bitmap时,当需要做性能优化或者防止OOM,通常会使用 RGB_565 这个配置,因为 ALPHA_8 只有透明度,显示一般图片没有意义,而 ARGB_4444 显示图片不清楚,ARGB_8888 则占用内存最多。

测试一下:

主要代码如下:

    // 加载原图
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test);
    imageView.setImageBitmap(bitmap);
    // 测试其他颜色模式
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值