我想做图像裁剪。我看到了以下链接。
但我想做的是如下。我想从中心裁剪图像计算尺寸。因此,例如,如果我的图像是 100 像素并且裁剪我希望结果是 50 像素。我想在左右手边各留 25 px,宽度为 50 px。
以前有人做过吗?
应该很简单。
假设你有width
and height
(你的源图像),你需要你的输出在cropped_width
and中cropped_height
。
首先,我们需要计算源图像的中心:
int x_center=width/2;
int y_center=height/2;
然后,我们知道我们需要输出图片具有定义的大小,所以我们将大小的一半取到左右:
int x_source=x_center-cropped_width/2;
int y_source=y_center-cropped_height/2;
最后,你有你的裁剪矩形:
Rect r = new Rect(x_source, y_source, cropped_width, cropped_height);
使用某种形式DrawImage()
将该矩形复制到您需要的位置。