2010-06-09 124 views
0

首先,我的应用程序目前在清单文件中定义了anyDensity = false。在应用程序的其他地方,我试图捕获并显示一个View的DrawingCache,但是我无法获得清晰的位图而没有缩放工件。anyDensity = false为什么getDrawingCache(true)返回null?

下面的代码产生一个位图,但它具有缩放伪像,并且通常是模糊的。

myView.setDrawingCacheEnabled(true); 
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache()); 
myImageView.setImageBitmap(myBitmap); 

当我读到它,为getDrawingCache的文件说,这是可以预期的,并使用getDrawingCache(真)。但是,下面的两个代码示例都会抛出NullPointer异常,因为getDrawingCache返回的位图(true)始终为空。

myView.setDrawingCacheEnabled(true); 
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true)); 
myImageView.setImageBitmap(myBitmap); 

OR

myView.buildDrawingCache(true); 
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true)); 
myImageView.setImageBitmap(myBitmap); 
myView.destroyDrawingCache(); 

有谁知道如何正确地捕捉和渲染drawingCache时anyDensity =假?

回答

0

您是否在onCreate中使用getDrawingCache?

相关问题