canvas教程

android中如何把view转为bitmap

字号+ 作者:H5之家 来源:H5之家 2015-11-13 16:09 我要评论( )

android如何把view转为bitmap,其实很简单,注意到view里都有一个onDraw函数,对于一般的view,重绘会触发这个函数,我们只需要把bitmap给这个canvas,自然,view上的所有子组件都绘在这个bitmap上了。对于viewgroup,因为它不会触发onDraw,所以需要重写dispatch

android如何把view转为bitmap,其实很简单,注意到view里都有一个onDraw函数,对于一般的view,重绘会触发这个函数,我们只需要把bitmap给这个canvas,自然,view上的所有子组件都绘在这个bitmap上了。对于viewgroup,因为它不会触发onDraw,所以需要重写dispatchDraw,原理跟onDraw一样。

重写后如下:

@Override

protected void dispatchDraw(Canvas canvas) {

if(this.bitmap==null){

this.initWidth();

this.bitmap = Bitmap.createBitmap(this.width, this.height, Config.ARGB_8888);

this.canvas = new Canvas(this.bitmap);

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

super.dispatchDraw(this.canvas);

}else if(this.bitmap!=null){

left -=1;

if(left<-this.width){

left = this.width;

}

//super(canvas);

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

this.canvas = canvas;

}

invalidate();

}

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Canvas与ValueAnimator

    Canvas与ValueAnimator

    2017-04-28 18:00

  • Android Bitmap和Canvas学习笔记(转)

    Android Bitmap和Canvas学习笔记(转)

    2017-04-28 17:00

  • 21天学习android开发教程之SurfaceView与多线程的混搭

    21天学习android开发教程之SurfaceView与多线程的混搭

    2017-04-27 12:00

  • Android画图学习免费下载

    Android画图学习免费下载

    2017-04-27 11:01

网友点评
/