将png转换为jpeg(转换后的图像质量)
本文关键字:转换 图像质量 jpeg png | 更新日期: 2023-09-27 18:09:59
我有大约10000个产品图片的png文件。后来我了解到生产中的产品图像是jpeg格式的,因此我需要将我的新10000个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);
对此有什么想法吗?
Jpeg与PNG不同,是有损格式。质量总会有所下降。
在保存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格式不保存图像的alpha通道。
这个相关的问题涉及到。net使用的默认质量级别:Image.Save()对jpeg文件使用什么质量级别?