绘制从一个的onDraw创建位图() [英] Drawing to a created Bitmap from onDraw()
本文介绍了绘制从一个的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屋!
查看全文