2011-03-04 2 views
0

이미지 파일 자르기를위한 경량 배치 도구를 찾고 있습니다. 가로 세로 비율이 3 : 4 또는 4 : 3이 될 수 있기 때문에 가운데에서 수행 할 자르기 이것은 더 큰 이미지의 경우 위쪽과 아래쪽에서 자르기가 발생하여 정사각형 이미지가 생성됩니다. 더 넓은 이미지의 경우 왼쪽 및 오른쪽에서 자르기가 발생하여 정사각형 이미지가 생성됩니다.정사각형 썸네일을 생성하기 위해 일괄 처리 된 JPG

누구나 이러한 도구를 사용 했습니까? .NET 4.0 및 C#

ImageMagick 또는 nConvert를 찾고 있지 않습니다.

답변

0

ImageMagick.NET을 살펴보십시오. Imagemagick은 리눅스를위한 커맨드 라인 툴과 라이브러리의 집합이며 누군가가 windows/.NET에 이식 한 것으로 보인다. 작물 기능을 사용한 적은 없지만 필요한 기능을 수행하는지 확인하십시오. 더 많은 정보와 사용법은 프로젝트의 이전 페이지 인 here 인 것 같습니다.

+0

이미지를 사용하지 않는 줄을 보지 못했습니다 : $ –

1

이 주먹은 원본에 맞는 사각형 크기의 메모리 내부 비트 맵 square을 만듭니다. 그런 다음 thumbSize까지 크기를 조정합니다.

string imagefolder = @"C:\Users\russ\Originals"; 
string thumbfolder = @"C:\Users\russ\Squares"; 
int thumbSize = 100; 

foreach (string file in System.IO.Directory.GetFiles(imagefolder, "*.jpg")) 
{ 
    using (Image original = Bitmap.FromFile(file)) 
    { 
     Size size = new Size(
      Math.Min(original.Width, original.Height), 
      Math.Min(original.Width, original.Height) 
     ); 
     int translateX = (size.Width - original.Width)/2; 
     int translateY = (size.Height - original.Height)/2; 

     using (Bitmap square = new Bitmap(size.Width, size.Height)) 
     { 
      using (Graphics g = Graphics.FromImage(square)) 
      { 
       g.DrawImage(original, translateX, translateY, original.Width, original.Height); 
      } 

      using (Bitmap thumb = new Bitmap(thumbSize, thumbSize)) 
      { 
       using (Graphics g2 = Graphics.FromImage(thumb)) 
       { 
        g2.DrawImage(square, 0, 0, thumbSize, thumbSize); 
       } 
       string thumbFile = Path.Combine(thumbfolder, Path.GetFileName(file)); 
       thumb.Save(thumbFile, ImageFormat.Jpeg); 
      } 

     } 
    } 
}