我正在使用getDrawingCache()
方法捕获我的布局视图并从中创建图像。代码工作正常并且生成了图像,但这里的问题是,生成的图像质量非常低。我希望生成的图像的分辨率很高,这样每当我设置它时ImageView
就不会被拉伸。
这是我正在使用的代码:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);
layout.setDrawingCacheEnabled(true);
Bitmap bmp = layout.getDrawingCache();
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + System.currentTimeMillis()+".jpg");
try {
FileOutputStream out = new FileOutputStream(f);
bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
PS -我也尝试在调用之前使用layout.buildDrawingCache(true);
and ,但没有发现质量变化。layout.setDrawingCacheQuality(RelativeLayout.DRAWING_CACHE_QUALITY_HIGH);
layout.getDrawingCache();
谁能帮我解决这个问题,我怎样才能提高生成图像的质量?提前致谢。