我想在我的应用中绘制线条。完成后,我想将屏幕保存为图像。但我不希望按钮出现在图像中。我想裁剪它,然后保存它。我试图使用此代码在onclicklistener中裁剪我的位图。但它没有用。 Bitmap.createBitmap(bitmap,5,5,5,5); 这是我的全部代码:
content.setDrawingCacheEnabled(true);
content.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache()); // Bitmap
Bitmap.createBitmap(bitmap, 5, 5, 5, 5);
content.setDrawingCacheEnabled(false);
File file = new File("/sdcard/SurucuImza.jpg");
FileOutputStream ostream = null;
try {
if (bitmap != null) {
file.createNewFile();
ostream = new FileOutputStream(file);
bitmap.compress(CompressFormat.JPEG, 100, ostream);
ostream.flush();
ostream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
bitmap.recycle();
bitmap = null;
ostream = null;
content.setDrawingCacheEnabled(false);
}
答案 0 :(得分:1)
您应该将此行的结果分配给变量:
Bitmap.createBitmap(bitmap, 5, 5, 5, 5);
//Ex:
Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, 5, 5, 5, 5);
然后保存croppedBitmap
而不是bitmap.
还有一件事,你确定你的按钮是5x5像素吗? createBitmap()
的最后两个参数指定width
和height
。
答案 1 :(得分:0)
由于Android屏幕尺寸和密度的大小可变,我建议您不要使用content
,但是在您的XML布局上,您有一个ViewGroup
,它将是“可打印屏幕”而另一个区域(视图组外)和按钮。
这样您就必须执行相同的操作,但使用viewGroup
代替content