想要使用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); //把圖畫上去