绘制从一个的onDraw创建位图() [英] Drawing to a created Bitmap from onDraw()

查看:322
本文介绍了绘制从一个的onDraw创建位图()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想提请位图,所以我可以的onDraw方法内把我的自定义视图的imageView.The code里面:

I'm trying to draw to a Bitmap so I can put my custom view inside an imageView.The code within the onDraw method is:

    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);

我的问题是,如果我尝试以这种方式使用位图,我只是得到一个黑色的屏幕。我知道我的code的其余产品,因为它显示,如果我不尝试绘制为位图。

My problem is that if I try to use a Bitmap in this way, I just get a black screen. I know that the rest of my code works as it displays if I don't try to draw to a bitmap.

如果我注释掉行

canvas.setBitmap(drawGraph);

然后一切完美的作品,所以这是问题,但我不知道为什么。

Then everything works perfectly, so this is the problem but I dont know why.

我要去哪里错了?

推荐答案

原来我也有创建第二个画布。我的工作code是低于只是任何人谁可能需要它:

Turns out I did have to create a second canvas. My working code is below just for anyone who might need it:

    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);

这篇关于绘制从一个的onDraw创建位图()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆