티스토리 뷰
보통 많이 쓰는 아래 방법으로는
압축율이 알아서 결정되기 때문에 용량은 작아도 화질이 많이 떨어지게 된다. (약 75% 정도?)
Image imgBig = Image.FromFile(이미지 경로);
Image imgThumb = imgBig.GetThumbnailImage(가로 크기, 세로 크기, delegate { return false; }, IntPtr.Zero);
imgThumb.Save(저장할 경로, ImageFormat.Jpeg);
imgBig.Dispose();
이럴 경우 아래와 같이 인코딩 설정을 통해서 원하는 품질(90%)의 썸네일 이미지를 만들 수 있다.
ImageCodecInfo imageCodecInfo;
Encoder encoder;
EncoderParameters encoderParams;
EncoderParameter encoderParam;
imageCodecInfo = GetEncoderInfo("image/jpeg");
encoder = Encoder.Quality;
encoderParams = new EncoderParameters(1);
encoderParam = new EncoderParameter(encoder, 90L);
encoderParams.Param[0] = encoderParam;
Image imgBig = Image.FromFile(이미지 경로);
Image imgThumb = imgBig.GetThumbnailImage(가로 크기, 세로 크기, delegate { return false; }, IntPtr.Zero);
imgThumb.Save(저장할 경로, imageCodecInfo, encoderParams);
imgBig.Dispose();
private static ImageCodecInfo GetEncoderInfo(String mimeType)
{
int j;
ImageCodecInfo[] encoders;
encoders = ImageCodecInfo.GetImageEncoders();
for (j = 0; j < encoders.Length; ++j)
{
if (encoders[j].MimeType == mimeType)
return encoders[j];
}
return null;
}
원하는 건 모두 MSDN에 Image.Save 메서드 (String, ImageCodecInfo, EncoderParameters)
'참고 > 전산' 카테고리의 다른 글
SQL Server에 Excel 문서로 작업(OPENROWSET)시 오류 (3) | 2014.06.30 |
---|---|
IIS 자세한 오류 표시 (0) | 2010.07.31 |
IIS 7.0 에서 대용량 파일 업로드가 안될 때 (0) | 2010.06.18 |
VB, ASP에서 ADODB의 CreateParameter 사용시 text 필드의 크기 지정 (0) | 2010.05.11 |
MS SQL Server 2005 인덱스 조각화 통계, 조각 모음 (0) | 2010.05.07 |