Android - 将画布转换为位图

时间:2014-09-15 20:07:49

标签: android canvas bitmap height width

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

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

Log cat说

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转换为Bitmap而不知道宽度/高度?只有在画布上画完后我才知道这个值。

由于

1 个答案:

答案 0 :(得分:0)

要从画布转换为Bitmap,只需创建一个Bitmap并将其添加到画布上,然后在画布上绘制,一切都将显示在您的Bitmap上

在你的情况下,日志猫清楚地说:你的函数:getMeasuredWidth和getMeasuredHeight返回一个< 0 检查一下。