无法使用getRootView捕获绘图内容

时间:2012-04-11 14:10:54

标签: android

我使用MyView在画布上使用FingerPaint API演示应用程序绘制内容。我想抓住我在画布上写的任何内容。但是当我使用View v1 = myview.getRootView()时,它只返回空白画布而不是内容。我想在SD卡中保存我的绘图。以下是我的代码。让我知道我需要改变什么

v1 = myview.getRootView();
System.out.println("v1 value = "+v1);
v1.buildDrawingCache(true);
v1.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
           MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
//v1.layout(0, 0, v1.getMeasuredWidth(), v1.getMeasuredHeight()); 
v1.layout(0, 0, 100, 100); 

//Bitmap b = Bitmap.createBitmap(v1.getDrawingCache());
myview.mBitmap = Bitmap.createBitmap(v1.getDrawingCache());
System.out.println("BITMAP VALue = "+myview.mBitmap);

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
//b.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
File f = new File(Environment.getExternalStorageDirectory()+ File.separator + "rashmitest.jpg");
try {
    f.createNewFile();
    FileOutputStream fo = new FileOutputStream(f);
    fo.write(bytes.toByteArray());
} catch (Exception e) 
{
    e.printStackTrace();
}
v1.setDrawingCacheEnabled(false);

myview是MyView类的一个对象,它扩展了View。

屏幕截图看起来像这样

enter image description here我只得到这一个

enter image description here

0 个答案:

没有答案