문득 태블릿PC를 이용하여 품질데이터 관리 하는 기능의 일환으로 이미지 압축에 관련하여 한번 살펴 보았다.
아래 0 압축율은 이미지가 깨지므로 25L이 적당한것으로 테스트 되었다.
자 그럼 이제 카메라 구동기술을 알아보자. 한 3년은 걸릴거 같음 ㅋ
private void VaryQualityLevel()
{
// Get a bitmap.
Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg");
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
// Create an Encoder object based on the GUID
// for the Quality parameter category.
System.Drawing.Imaging.Encoder myEncoder =
System.Drawing.Imaging.Encoder.Quality;
// Create an EncoderParameters object.
// An EncoderParameters object has an array of EncoderParameter
// objects. In this case, there is only one
// EncoderParameter object in the array.
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityFifty.jpg", jpgEncoder, myEncoderParameters);
myEncoderParameter = new EncoderParameter(myEncoder, 100L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jpgEncoder, myEncoderParameters);
// Save the bitmap as a JPG file with zero quality level compression.
myEncoderParameter = new EncoderParameter(myEncoder, 0L);
myEncoderParameters.Param[0] = myEncoderParameter;
bmp1.Save(@"c:\TestPhotoQualityZero.jpg", jpgEncoder, myEncoderParameters);
}
// Image format에 대한 Codec 정보를 가져온다.
private ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
'020. Prigraming > 01. C#' 카테고리의 다른 글
[C#] TiberoHelper (1) | 2020.03.31 |
---|---|
[C#] 암호화와 복호화 [Encryption , Decryption] (1) | 2016.10.18 |
[C#] SMTP와 NAVER를 이용한 메일 보내기 (0) | 2016.08.01 |
[C#] 이번달 마지막 날짜 구하기 (0) | 2016.02.12 |
[C#] DataGrid RowHeader 순번 표시 (0) | 2015.09.01 |
WRITTEN BY
- 테네시왈츠
항상 겸손하게 항상 새롭게 항상 진실하게