2012-11-05 338 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()將該矩形複製到您需要的位置。