2012-11-05 73 views
-4

我想做图像裁剪。 我看到下面的链接。图像裁剪c#

Image cropping

但我想要做的是如下。 我想从其中心裁剪图像计算尺寸。 因此,例如,如果我的图像是100像素,裁剪我想要的结果是50像素。 我想在左侧和右侧分别放置25像素,宽度为50像素。

以前有人做过吗?

+0

WPF,WinForms等。 +你有什么尝试? – MoonKnight

+5

-1我刚刚检出了您链接到的博客帖子,并且您的工作已在您那里完成。除了写在那里,我不知道你在问什么。 –

+3

是的,以前人们肯定会这么做的。现在,您如何向我们展示[您尝试过的](http://whathaveyoutried.com),解释您被卡住的位置并发布相关代码? – Oded

回答

1

它应该很简单。

说你有widthheight(你的源图像的),你需要你的输出是在cropped_widthcropped_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()将该矩形复制到您需要的位置。