2014-06-22 2 views
3

제품 이미지가 약 10000 개 있습니다. 나중에 프로덕션의 제품 이미지가 jpeg라는 것을 알게되어 새로운 10000 png 파일을 jpeg로 변환해야합니다. 확장 프로그램을 png에서 jpeg로 변경하면 이미지의 품질은 어떻게됩니까?png를 jpeg (변환 후 이미지 품질)로 변환

는 전 C#/SQL Server 환경에서 일을하고 나는이에

System.Drawing.Image image1 = System.Drawing.Image.FromFile(@"C:\test.png"); 
// Save the image in JPEG format. 
image1.Save(@"C:\test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); 

어떤 생각을 사용해야합니까?

+0

당신이 이펙의 기본 품질 수준이 무엇인지 묻는? – Rotem

+1

@Rotem, 이미지의 품질/선명도를 손상시키지 않고 JPEG로 JPEG을 변환하는 가장 좋은 방법을 찾아 냈습니다. – newbieCSharp

+0

품질을 수동으로 설정하십시오. – pasty

답변

4

JpegPNG과 달리 손실 형식입니다. 항상 품질이 약간 저하됩니다.

JPEG를 저장할 때 최고 품질 수준을 사용하면 눈에 띄지 않거나 거의 눈에 띄지 않을 수 있습니다.

MSDN에서 촬영 :

// Get a bitmap. 
Bitmap bmp1 = new Bitmap(@"c:\TestPhoto.jpg"); 
ImageCodecInfo jgpEncoder = 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); 

myEncoderParameter = new EncoderParameter(myEncoder, 100L); 
myEncoderParameters.Param[0] = myEncoderParameter; 
bmp1.Save(@"c:\TestPhotoQualityHundred.jpg", jgpEncoder, myEncoderParameters); 

은 또한 JPEG 형식으로 이미지의 알파 채널을 저장하지 않음을 명심하십시오.

기본 품질 수준 .NET을 사용하여이 관련 질문 상품의 사용 What quality level does Image.Save() use for jpeg files?

관련 문제