想要使用canvas 有一个前提 那就是一定要有它要操作的对象 bitmap 或 一块dirty区域。
android 源码中 view的根 canvas 来源如下:ViewRootImpl.java
drawSoftware方法中:
canvas = mSurface.lockCanvas(dirty);
用canvas工具渲染bitmap: 画圆
int radius = src.getWidth() / 2; //src为我们要画上去的图,跟上一个示例中的bitmap一样。
Bitmap dest = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(dest);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setAntiAlias(true);
Path path = new Path();
path.addCircle(radius, radius, radius, Path.Direction.CW);
c.clipPath(path); //裁剪区域
c.drawBitmap(src, 0, 0, paint); //把图画上去