C#根据图片文件扩展名(.jpg/.png/.bmp)获取图片编码器
作者:C/S框架网|www.csframewo  发布日期:2023/03/06 15:55:07
  C#根据图片文件扩展名(.jpg/.png/.bmp)获取图片编码器

ImageHelperEx类提供2个通用方法:
SaveFile: 保存图片文件
GetBitmapEncoder:根据文件扩展名获取图片编码器


C# Code:

using System.IO;
using System.Windows.Media.Imaging;

namespace CSFrameworkV6.Common
{
  
  
public class ImageHelperEx
  {
    
/// <summary>
    
/// 保存图片文件
    
/// </summary>
    
/// <param name="imageData"></param>
    
/// <param name="filePath"></param>
    
/// <returns></returns>
    
public static bool SaveFile(byte[] imageData, string filePath)
    {
      
using (MemoryStream ms = new MemoryStream(imageData))
      {
        BitmapEncoder encoder
= GetBitmapEncoder(filePath);
        encoder.Frames.Add(BitmapFrame.Create(ms));
        
using (var stream = new FileStream(filePath, FileMode.Create))
        {
          encoder.Save(stream);
        }
      }
      
return File.Exists(filePath);
    }
    
    
/// <summary>
    
/// 根据文件扩展名获取图片编码器
    
/// </summary>
    
/// <param name="filePath">文件路径</param>
    
/// <returns>图片编码器</returns>
    
public static BitmapEncoder GetBitmapEncoder(string filePath)
    {
      
var extName = System.IO.Path.GetExtension(filePath).ToLower();
      
if (extName.Equals(".jpg"))
      {
        
return new JpegBitmapEncoder();
      }
      
if (extName.Equals(".png"))
      {
        
return new PngBitmapEncoder();
      }
      
else
      {
        
return new JpegBitmapEncoder();//位图
        
}
      }
    }
  }
  
  
  
//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇