-4

我想做图像裁剪。我看到了以下链接。

图像裁剪

但我想做的是如下。我想从中心裁剪图像计算尺寸。因此,例如,如果我的图像是 100 像素并且裁剪我希望结果是 50 像素。我想在左右手边各留 25 px,宽度为 50 px。

以前有人做过吗?

4

1 回答 1

1

应该很简单。

假设你有widthand height(你的源图像),你需要你的输出在cropped_widthand中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()将该矩形复制到您需要的位置。

于 2012-11-05T13:37:32.123 回答