Почему я не могу рисовать своим собственным холстом? - PullRequest
0 голосов
/ 16 марта 2012

Когда я создаю новый Canvas в onDraw(), как это:

Canvas c = new Canvas(myBitmap);

и затем используйте это, чтобы нарисовать что-то, это не работает.

Но когда я использую параметр canvas из onDraw(Canvas canvas), он работает. Может кто-нибудь сказать мне, почему?

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Какую ошибку вы получаете?если вы хотите просто нарисовать растровое изображение, используйте следующий код:

    @Override
           protected void onDraw(Canvas canvas) 
           {
                canvas.drawBitmap(bak, 0, 0, null);
           }

Где «bak» - растровое изображение.Нет необходимости создавать еще один дополнительный Canvas снова внутри onDraw, поскольку это избыточность.

0 голосов
/ 16 марта 2012

Попробуйте это -

Bitmap  bitmap = Bitmap.createBitmap( view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
view.draw(canvas); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);

И посмотрите соответствующий вопрос из Stackoverflow

и попробуйте также Sampleapp .

...