gpt4 book ai didi

c# - 将 png 转换为 jpeg(转换后的图像质量)

转载 作者:行者123 更新时间:2023-11-30 15:29:11 25 4
gpt4 key购买 nike

我有大约 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 channel 。

此相关问题涉及 .NET 使用的默认质量级别:What quality level does Image.Save() use for jpeg files?

关于c# - 将 png 转换为 jpeg(转换后的图像质量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24350049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com