大部分2D使用的api都在android.graphics和android.graphics.drawable包中
提供了图形处理相关的:Canvas、ColorFilter、Point(点)、RetcF(矩形)等
提供了动画相关的:AnimationDrawable、BitmapDrawable等
以图形处理来说,我们最常用到的就是在一个View上画一些
图片、形状或者自定义的文本内容,这里我们都是使用
Canvas对象来实现的
Canvas对象三种获取方式
第一种方式
1.编写一个类继承View
2.重写
父类构造方法
3.重写ondraw方法获取Convas对象
代码
package com.example.view;
import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;
public class MyView extends View{
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
}
}
第二种方式 一般用于游戏开发 这里不做介绍
1.创建SurfaceView对象
2.获取SurfaceHolder方法
3.获取canvas 对象
4.使用canvas绘制图像操作
5.释放canvas锁 并在视图中显示
第三种方式
<pre name="code" class="java"><span style="white-space:pre"> </span> //创建bitmap对象
Bitmap bitmap=Bitmap.createBitmap(100, 200, Config.ARGB_8888);
//创建canvas对象
Canvas canvas=new Canvas(bitmap);
//进行绘图操作
ImageView image=new ImageView(this);
//设置涂片
image.setImageBitmap(bitmap);