您的位置:首页 > 编程语言 > C#

C#图像处理(5):无损保存图片

2014-08-18 15:27 411 查看
C#使用默认方法对图像进行保存的时候图像会有损失,以下提供无损保存的方法:

/// <summary>
/// 无损保存图片
/// </summary>
/// <param name="imgResult">图片</param>
/// <param name="Path">保存的路径</param>
/// <param name="ImageType">图片的类型,image/jpeg,image/png,image/gif,image/tiff,image/bmp</param>
/// <returns></returns>
public bool SaveImage(Image imgResult, string Path, string ImageType)
{
EncoderParameter p;
EncoderParameters ps;
try
{
ps = new EncoderParameters(1);

p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
ps.Param[0] = p;

ImageCodecInfo ii = GetCodecInfo(ImageType);
imgResult.Save(Path, ii, ps);
imgResult.Dispose();
}
catch (Exception ex)
{
return false;
}
return true;
}

/// <summary>
/// 获取图片的编码类型
/// </summary>
/// <param name="mimeType"></param>
/// <returns></returns>
public ImageCodecInfo GetCodecInfo(string mimeType)
{
ImageCodecInfo[] CodecInfo = ImageCodecInfo.GetImageEncoders();
foreach (ImageCodecInfo ici in CodecInfo)
{
if (ici.MimeType == mimeType) return ici;
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐