您好,登錄后才能下訂單哦!
在C#中,可以通過調整Bitmap圖像的壓縮質量來平衡圖像質量和圖像大小。壓縮質量越高,圖像質量越好,但文件大小也會相應增加。以下是一種常見的方法來實現圖像質量和大小的平衡:
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
public void CompressImage(string inputImagePath, string outputImagePath, long quality)
{
using (Bitmap bitmap = new Bitmap(inputImagePath))
{
ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);
System.Drawing.Imaging.Encoder myEncoder = System.Drawing.Imaging.Encoder.Quality;
EncoderParameters myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, quality);
myEncoderParameters.Param[0] = myEncoderParameter;
bitmap.Save(outputImagePath, jpgEncoder, myEncoderParameters);
}
}
private static ImageCodecInfo GetEncoder(ImageFormat format)
{
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();
foreach (ImageCodecInfo codec in codecs)
{
if (codec.FormatID == format.Guid)
{
return codec;
}
}
return null;
}
在上面的代碼中,CompressImage
方法接收輸入圖像路徑、輸出圖像路徑和壓縮質量作為參數。通過調整quality
參數的值來平衡圖像質量和大小。壓縮質量通常在0到100之間,其中0表示最低質量,100表示最高質量。
調用CompressImage
方法并傳入相應的參數即可實現圖像質量和大小的平衡,例如:
CompressImage("input.jpg", "output.jpg", 50);
這將會將輸入圖像input.jpg
壓縮為50%的質量,并保存為output.jpg
。您可以根據需要調整壓縮質量來獲得最佳的圖像質量和大小平衡。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。