前言
随着移动设备的不断普及与发展,相关的软件开发技术也越来越受到人们所重视。Android作为全球最受欢迎的移动智能终端平台。图形图像处理技术在Android中非常重要,特别是在开发益智类游戏或者2D游戏时都离不开图形图像处理技术。在绘制图像时最常用的就是Bitmap类、BitmapFactory类、Paint类、Canvas类和Matrix类。其中,Bitmap类代表位图,BitmapFactory类顾名思义就是位图工厂,它是一个工具类,Paint类代表画笔,Canvas类代表画布,为图片添加特效使用的是Matrix类。接下来给大家针对图形图像处理的API进行讲解和具体应用
1.Bitmap类
Bitmap类是Android系统中非常重要的图像处理类。它提供了一系列的方法,可对图像进行旋转、缩放等操作,并可以指定格式保存图像文件。对于这些操作,都可以通过Bitmap类提供的方法来实现。Bitmap类提供的常用方法如下表所示
方法名称 | 功能描述 |
---|---|
createBitmap(int width, int height, Config config) | 创建位图,width代表要创建的图片的宽度,height代表高度,config代表图片的配置信息 |
createBitmap(int colors[], int offset, int stride, int width,i nt height, Config config) | 使用颜色数组创建一个指定宽高的位图,颜色数组的个数为width*height |
createBitmap(Bitmap src) | 使用源位图创建一个新的Bitmap |
createBitmap(Bitmap source, int x, int y, int width, int height) | 从源位图的指定坐标开始“挖取”指定宽高的一块图像来创建新的Bitmap对象 |
createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter) | 从源位图的指定坐标开始“挖取”指定宽高的一块图像来创建新的Bitmap对象,并按照Matrix规则进行变换 |
isRecycle() | 判断Bitmap对象是否被回收 |
recycle() | 回收Bitmap对象 |
创建一个Bitmap对象的示例代码:
Bitmap.Config config = Config.ARGB_4444;
Bitmap bitmap = Bitmap.createBitmap(width, height, config);
Config是Bitmap的内部类,用于指定Bitmap的一些配置信息,这里的Config.ARGB_4444意思为Bitmap的每个像素点占用内存2个字节。
2.BitmapFactory类
BitmapFactory类是一个工具类,主要用于从不同的数据源(如文件、数据流和字节数组)来解析、创建Bitmap对象。BitmapFactory类提供的常用方法如下表所示。
方法名称 | 功能描述 |
---|---|
decodeFile(String pathName) | 从指定文件中解析、创建Bitmap对象 |
decodeStream(InputStream is) | 从指定输入流中解析、创建Bitmap对象 |
decodeResource(Resources res, int id) | 根据给定的资源id,从指定资源中解析、创建Bitmap对象 |
解析SD卡中的图片文件,并创建对应Bitmap对象的示例代码:
Bitmap bitmap = BitmapFactory.decodeFile(“图片地址”);
同时也可以解析Drawable文件夹中的图片文件,并创建相应的Bitmap对象的示例代码
Bitmap bitmap = BitmapFactory.decodeResource(getResource(), R.drawable.ic_launcher);
3.Paint类
Paint类代表画笔,用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息。使用Paint类时,首先要创建他它的示例对象,然后通过该类提供的方法来更改Paint对象的默认设置。类Paint提供的常用方法如下表所示
方法名称 | 功能描述 |
---|---|
Paint() | 创建一个Paint对象,并使用默认属性 |