首先,我的应用程序当前在清单文件中定义了anyDensity=false。在应用程序的其他地方,我试图捕获和显示一个视图的DrawingCache,但我无法在没有缩放工件的情况下获得清晰的位图。
下面的代码生成一个位图,但它有缩放伪影,并且通常是模糊的。
myView.setDrawingCacheEnabled(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache());
myImageView.setImageBitmap(myBitmap);当我读到它时,getDrawingCache的文档说这是预期的,并且使用getDrawingCache(true)。然而,下面的两个代码示例都抛出了NullPointer异常,因为getDrawingCache(true)返回的位图始终为空。
myView.setDrawingCacheEnabled(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true));
myImageView.setImageBitmap(myBitmap);或
myView.buildDrawingCache(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache(true));
myImageView.setImageBitmap(myBitmap);
myView.destroyDrawingCache();有人知道如何在anyDensity=false时正确地捕获和呈现drawingCache吗?
发布于 2011-06-09 13:53:45
你在onCreate中使用getDrawingCache了吗?
https://stackoverflow.com/questions/3006933
复制相似问题