2012-11-05 5 views
-4

이미지 자르기를하고 싶습니다. 다음 링크를 보았습니다. 다음과 같이이미지 자르기 C#

Image cropping

는하지만 내가하고 싶은 것입니다. 센터에서 이미지 계산 치수를 잘라내려고합니다. 예를 들어, 내 이미지가 100 픽셀이고 자르기를하면 결과가 50 픽셀이 되길 원합니다. 나는 왼쪽과 오른쪽에 각각 25 px를 남기고 너비를 50 px로 만들고 싶다.

누구나 전에 해 보았습니까?

+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() 양식을 사용하십시오.