如何从顶部和底部裁剪位图图像?
How to crop bitmap image from both top and bottom?
我的视图已转换为位图图像,我想从底部和顶部剪切一部分。我的问题是我可以做其中一个,但是当我想做另一个时,它会取消以前的工作。这是我的代码:
bitImage=getBitmapFromView(_root);
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inTargetDensity = 1;
bitImage.setDensity(Bitmap.DENSITY_NONE);
Bitmap crop=Bitmap.createBitmap(bitImage,0,0,bitImage.getWidth(),((int)(bitImage.getHeight()*0.8)));
crop=Bitmap.createBitmap(anything here will annul previous line);
crop.compress(Bitmap.CompressFormat.PNG,100,out);
这里是图片,所以你可以更好地看到我要剪切的内容(箭头显示那些部分)。谢谢。
这将从顶部和底部切割您的位图并采用中心路径并且条件if (srcBmp.getWidth() >= srcBmp.getHeight())
告诉宽度是否大于高度然后它将水平切割。
if (srcBmp.getWidth() >= srcBmp.getHeight()){
dstBmp = Bitmap.createBitmap(
srcBmp,
srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
0,
srcBmp.getHeight(),
srcBmp.getHeight()
);
}else{
dstBmp = Bitmap.createBitmap(
srcBmp,
0,
srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
srcBmp.getWidth(),
srcBmp.getWidth()
);
}
我的视图已转换为位图图像,我想从底部和顶部剪切一部分。我的问题是我可以做其中一个,但是当我想做另一个时,它会取消以前的工作。这是我的代码:
bitImage=getBitmapFromView(_root);
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inTargetDensity = 1;
bitImage.setDensity(Bitmap.DENSITY_NONE);
Bitmap crop=Bitmap.createBitmap(bitImage,0,0,bitImage.getWidth(),((int)(bitImage.getHeight()*0.8)));
crop=Bitmap.createBitmap(anything here will annul previous line);
crop.compress(Bitmap.CompressFormat.PNG,100,out);
这里是图片,所以你可以更好地看到我要剪切的内容(箭头显示那些部分)。谢谢。
这将从顶部和底部切割您的位图并采用中心路径并且条件if (srcBmp.getWidth() >= srcBmp.getHeight())
告诉宽度是否大于高度然后它将水平切割。
if (srcBmp.getWidth() >= srcBmp.getHeight()){
dstBmp = Bitmap.createBitmap(
srcBmp,
srcBmp.getWidth()/2 - srcBmp.getHeight()/2,
0,
srcBmp.getHeight(),
srcBmp.getHeight()
);
}else{
dstBmp = Bitmap.createBitmap(
srcBmp,
0,
srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
srcBmp.getWidth(),
srcBmp.getWidth()
);
}