将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);

对此有什么想法吗?

将png转换为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文件使用什么质量级别?