android 使用canvas绘图保留痕迹

不多说先上代码,API :11


public void ondraw(Canvas canvas) {

        canvas.drawBitmap(bitmap, 0, 0, null);  //自己定义的Bitmap

        canvas.drawPath(path, paint);   

           
           canvas.setBitmap(bitmap);        //设置在bitmap上画图            
           anvas.drawPath(path, paint);   //不再次调用就无法保留bitmap


}


虽然使用drawPaths可以绘制多条路径,但多有不便。

在此利用到了Bitmap


为什么需要两次drawPath呢?

个人分析如下:

在调用后

canvas.drawBitmap(bitmap, 0, 0, null); 

canvas.drawPath(path, paint);  

路径Bitmap没有画到了canvas的bitmap上,

而是画到我们自己定义的BItmap上,

所以不显示出来。

所以需要调用setBitmap(bitmap)函数

并且再draw一次(只是为了显示)。


drawline方法与之类似。



由于对canvas的画图机制还不是很了解,

所以不足之处请指正!






你可能感兴趣的:(android 使用canvas绘图保留痕迹)