Есть ли способ извлечь холст или растровое изображение из представления?

#android #android-canvas #android-view

#Android #android-холст #android-просмотр

Вопрос:

У меня есть этот класс, который расширяет View и рисует линию:

 public class MyDraw extends View 
{

    Paint paint = new Paint();

    public MyDraw(Context context) 
    {
        super(context);
        paint.setColor(Color.BLUE);
    }

    @Override
    public void onDraw(Canvas canvas) 
    {
        super.onDraw(canvas);
        canvas.drawLine(1, 1, 100, 100, paint);
    }
}
  

Я хотел бы использовать существующий вид из Context , чтобы рисовать поверх него. Возможно ли это?

Ответ №1:

Если вы просто пытаетесь получить представление в виде растрового изображения, вы можете получить его из кэша чертежей. Это должно сработать.

 view.buildDrawingCache;
Bitmap bm = view.getDrawingCache
  

Вы не можете использовать существующий экземпляр представления и добавить его снова, поскольку ему уже назначен родительский элемент, и это вызовет исключение.

Комментарии:

1. Это позволит захватить растровое изображение из представления. Как насчет from Context ?