图像裁剪c#

时间:2012-11-05 13:31:20

标签: c# .net image

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

Image cropping

但我想做的是如下。 我想从中心裁剪图像计算尺寸。 所以例如,如果我的图像是100像素并且裁剪我希望结果是50像素。 我想在左侧和右侧分别留下25像素,宽度为50像素。

以前有人做过吗?

1 个答案:

答案 0 :(得分:1)

应该很简单。

假设您拥有widthheight(您的源图片),并且您的输出需要cropped_widthcropped_height

首先,我们需要计算源图像的中心:

int x_center=width/2;
int y_center=height/2;

然后,我们知道我们需要输出图片具有定义的大小,所以我们将大小的HALF放到左右:

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()将该矩形复制到您需要的位置。