首先,我的应用程序当前在清单文件中定义了anyDensity = false。在应用程序的其他地方,我正在尝试捕获并显示View的DrawingCache,但是我无法获得没有缩放工件的清晰位图。
下面的代码产生了一个Bitmap,但它有缩放瑕疵,通常很模糊。
myView.setDrawingCacheEnabled(true);
Bitmap myBitmap = Bitmap.Create(myView.getDrawingCache());
myImageView.setImageBitmap(myBitmap);
在我阅读它时,getDrawingCache的文档说这是预期的并且使用getDrawingCache(true)。然而,下面的两个代码示例都抛出了NullPointer异常,因为getDrawingCache(true)返回的Bitmap始终为null。
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();
当anyDensity = false时,有没有人知道如何正确捕获和渲染drawingCache?
答案 0 :(得分:0)
您是否在onCreate中使用了getDrawingCache?