其實只需要簡單得幾步就可以。如:
private void SaveBmpToJpegFile(string filename)
{
Image bmpImage = Image.FromFile(filename);
string newFileName = filename.Substring(0, filename.LastIndexOf('.')) + ".jpg";
bmpImage.Save(newFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}
首先根據BMP文件名建立壹個System.Drawing.Image對象,然後直接調用Image.Save方法就OK了。
或者也可以這樣:
private void SaveToJpegFile(string filename)
{
Image bmpImage = Image.FromFile(filename);
Graphics bmpGra = Graphics.FromImage(bmpImage);
bmpGra.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;//設置高復合級別
bmpGra.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;//設置高差值算法
bmpGra.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;//設置高呈現模式
string newFileName = filename.Substring(0, filename.LastIndexOf('.')) + ".jpg";
bmpImage.Save(newFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}
其實上面的方法就可以了,默認的轉換質量就很不錯了。