我有多个活动,每个活动在屏幕上应用一些视觉效果,然后保存并将其发送到另一个活动,但在每个过程(getDrawingCache + save + send)后,图像上会出现一些噪音,这是我的代码:
FrameLayout frame1=(FrameLayout) findViewById(R.id.finalview_new);
frame1.setDrawingCacheEnabled(true);
frame1.buildDrawingCache();
Bitmap bitmap=frame1.getDrawingCache();
String fileName = "myImage";//no .png or .jpg needed
try {
ByteArrayOutputStream bytes =
new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
FileOutputStream fo =
openFileOutput(fileName, aftertext.this.MODE_PRIVATE);
fo.write(bytes.toByteArray());
// remember close file output
fo.close();
} catch (Exception e) {
e.printStackTrace();
fileName = null;
}
ed.setVisibility(View.VISIBLE);
onCreate(null);
答案 0 :(得分:0)
这是罪魁祸首
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
JPEG是一种有损格式。使用BitmapFormat.PNG option instead。