我有一张从相机中拍摄的位图。我想裁剪该图像,使其仅留下底部部分。裁剪后的图像应为原始位图高度的80%以下,因此我只希望左侧边缘开始的底部20%。
我在代码中明确执行此操作,没有使用任何Android裁剪意图。
以下是可视化我要实现的内容的图像:
我已经使用以下代码成功地裁剪了位图的顶部部分:
final Bitmap toBeCropped = BitmapFactory.decodeFile(mFile.getPath());
final BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inTargetDensity = 1;
toBeCropped.setDensity(Bitmap.DENSITY_NONE);
int fromHere = (int) (toBeCropped.getHeight() * 0.2);
Bitmap croppedBitmap = Bitmap.createBitmap(toBeCropped, 0, 0, toBeCropped.getWidth(), fromHere);
mPreviewHalf.setImageBitmap(croppedBitmap);
但是我找不到一种从顶部开始裁剪80%的方法。我考虑获取位图的y坐标,这样我可以裁剪任何图像大小并始终仅获取底部部分。但是有人能告诉我如何从位图中获取此坐标吗?或者我必须从布局本身获取它吗?