是否可以在绘制之前将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而不知道宽度/高度?只有在画布上画完后我才知道这个值。
由于
答案 0 :(得分:0)
要从画布转换为Bitmap,只需创建一个Bitmap并将其添加到画布上,然后在画布上绘制,一切都将显示在您的Bitmap上
在你的情况下,日志猫清楚地说:你的函数:getMeasuredWidth和getMeasuredHeight返回一个< 0 检查一下。