在拍摄屏幕截图后,我将位图从一个活动传递到另一个活动
Bitmap bitmap;
bitmap = takeScreenshot();
try {
//Write file
String filename = "bitmap.png";
FileOutputStream stream = this.openFileOutput(filename, Context.MODE_PRIVATE);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
//Cleanup
stream.close();
bitmap.recycle();
//Pop intent
Intent in1 = new Intent(this, FinalImageShare.class);
in1.putExtra("image", filename);
startActivity(in1);
} catch (Exception e) {
e.printStackTrace();
}
这里我正在获取其他活动中的图像,问题是工具栏高度也来了(我通过setVisibility隐藏工具栏)我想裁剪图像以便工具栏高度不会来.TIA
imageView=(ImageView)findViewById(R.id.imageView);
String filename = getIntent().getStringExtra("image");
try {
FileInputStream is = this.openFileInput(filename);
bmp = BitmapFactory.decodeStream(is);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
答案 0 :(得分:0)
您可以使用f >= 6*l//10 and f < 8*l//10
方法,如下所示:
createBitmap
resizedbitmap = Bitmap.createBitmap(bitmap, 0, 0, yourwidth, yourheight);
是您创建的位图,而bitmap
是裁剪的位图。
createBitmap()方法作为参数:位图,起始X,起始Y,宽度和高度。
您可以使用这两种方法来获取宽度和高度:
resizedbitmap
同时检查此链接以了解bitmap.getWidth(), bitmap.getHeight()
方法:
或者你可以使用绘图缓存属性,如下所示:
createBitmap
或类似于上一个,View main = findViewById(R.id.view);
Bitmap screenshot;
main.setDrawingCacheEnabled(true);
screenshot = Bitmap.createBitmap(main.getDrawingCache());
main.setDrawingCacheEnabled(false);
查看以获取全屏位图缓存:
ctx.getWindow().getDecorView()
希望这有帮助!