2016-05-25 2 views
1

Я хочу нарисовать вытяжку на холст с этим кодом, но он не работает, и я не знаю, почемуРисования вытяжки в холсте не работает

getResources().getDrawable(R.drawable.allergist).draw(canvas); 

Я поставил мои пользовательские представления Heigh и ширину чтобы соответствовать родителю, но весь экран белый и не рисуем на экране

+2

вы не установили границы 'Drawable' – pskink

+0

спасибо, что решил @pskink –

ответ

1

Вы должны загрузить ваш image в bitmap:

Resources res = getResources(); 
Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.allergist); 

Затем сделайте bitmap mutable и создать холст над ним:

Canvas canvas = new Canvas(bitmap.copy(Bitmap.Config.ARGB_8888, true)); 

После этого вы можете нарисовать его на холсте.

EDIT 1

Установить границы К Drawable.

Drawable d = getResources().getDrawable(R.drawable.allergist); 
d.setBounds(left, top, right, bottom); 
d.draw(canvas); 
+0

, но у меня есть образец проекта, который использует drawable.draw(); и его работа –

+0

Тогда может возникнуть проблема с вашим «Drawable image», который вы используете. проверьте это. –

+0

спасибо, решена с настройками –

0

У нас была аналогичная проблема, и мы решили ее по телефону drawable.invalidateSelf(). После этого он успешно попал на наш холст.

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