将画布转换为位图

在绘制之前是否可以将Canvas转换为位图? 我已经覆盖自定义视图的onMeasure来实现滚动。 画布已经正确显示,我想将其转换为位图以提高滚动速度,但使用这些语句

Bitmap bitmap = Bitmap.createBitmap(this.getMeasuredWidth(),this.getMeasuredHeight(),bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap);

日志猫说

09-15 21:54:36.926: E/AndroidRuntime(28919): FATAL EXCEPTION: main
09-15 21:54:36.926: E/AndroidRuntime(28919): java.lang.RuntimeException: Unable to start activity     ComponentInfo{zardoni.matteo.timeline/zardoni.matteo.AppAndroid.Activities.TimelineActivity}: java.lang.IllegalArgumentException: width and height must be > 0

有没有办法通过createBitmap()不知道宽度/高度将Canvas转换成位图? 我只有在画布上完成绘制后才知道这个值。

谢谢


要将画布转换为位图,只需创建一个位图并将其添加到画布上,然后在画布上绘制,所有内容都会显示在您的位图上

在你的情况下,日志猫清楚地说:你的功能:getMeasuredWidth和getMeasuredHeight返回一个值<0检查这一点。

链接地址: http://www.djcxy.com/p/67623.html

上一篇: Convert Canvas to Bitmap

下一篇: Android 2.1 View's getDrawingCache() method always returns null