2014-09-15 2 views
0

Можно ли преобразовать холст в растровое изображение перед рисованием? Я переопределяю onMeasure своего пользовательского вида для реализации прокрутки. Холст показал правильно, я хотел бы, чтобы преобразовать его в растровом изображении для повышения скорости прокрутки, но с помощью этих заявленийAndroid - Конвертировать холст в растровое изображение

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() без знака ширины/высоты? Я знаю эти значения только после финиша на холсте.

Благодаря

+0

Почему бы не перерисовать только ту часть, которая видна, пропуская невидимые части? – pskink

+0

как я могу это сделать? Как я могу узнать, какая часть видима? Вызов «bitmap = getDrawingCache()» растровое изображение отображает только рисунок до размера дисплея, над ним серый экран – user3653803

ответ

0

Для преобразования из холста в растровое изображение, просто создать Bitmap и добавить его в свой холст, а затем рисовать на холсте, и все будет появляться на Bitmap

В вашем случае, журнал для кошек ясно: ваша функция: getMeasuredWidth и getMeasuredHeight возвращают значение, которое должно быть Проверьте это.

Смежные вопросы