Рисование к созданному растровому изображению из onDraw () - PullRequest
1 голос
/ 26 июля 2011

Я пытаюсь нарисовать растровое изображение, чтобы я мог поместить свой собственный вид в imageView. Код в методе onDraw:

    public void onDraw(Canvas canvas) {     

    Bitmap drawGraph = Bitmap.createBitmap(canvas.getWidth(),canvas.getHeight(),Bitmap.Config.ARGB_8888);       
    canvas.setBitmap(drawGraph);    
    canvas.drawBitmap(drawGraph, 0, 0, bgPaint);

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

Если я закомментирую строку

canvas.setBitmap(drawGraph);

Тогда все работает отлично, так что это проблема, но я не знаю почему.

где я иду не так?

Ответы [ 2 ]

6 голосов
/ 26 июля 2011

Оказывается, мне пришлось создать второй холст. Мой рабочий код ниже только для тех, кому это может понадобиться:

    public void onDraw(Canvas canvas) {

    Canvas singleUseCanvas = new Canvas();      

    drawGraph = Bitmap.createBitmap(canvas.getWidth(),canvas.getHeight(),Bitmap.Config.ARGB_8888);      
    singleUseCanvas.setBitmap(drawGraph);   

    canvas.drawBitmap(drawGraph, 100, 100, bgPaint);
1 голос
/ 26 июля 2011

Я думаю, это дихотомия canvas и canvas2. Попробуйте использовать только canvas2 (параметр) для рисования.

...