C#根据图片文件扩展名(.jpg/.png/.bmp)获取图片编码器
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
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

参考文档:
根据文件扩展名获取图片编码器如jpg/png格式|C/S开发框架
开发框架处理保存图片数据
OpenFileDialog Filter属性设置所有图片格式
C#.Net 上传图片,限制图片大小,检查类型完整版
C# CodeHighlighter生成的高亮着色HTML源码格式化
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
通用图片处理类CImageLibrary,预设存储JPG格式|C/S框架网
C#读取资源文件的图片
C#图片转换类支持按比例缩放图片
图像处理业务逻辑CImageLibrary类(C/S框架网开源)
Asp.Net FileUpload类实现上传文件(C/S框架网开源)
C#图片加水印(Generate Watermark Picture)
CSFrameworkV6旗舰版 | 导入导出Excel文件数据开发教程|C/S开发框架
GridControl表格自定义按钮设置按钮图片|C/S开发框架
CSFrameworkV6旗舰版 | 业务单据复制功能,支持复制多级明细表|C/S开发框架
CSFrameworkV6|主从表基础资料窗体扩展【复制】按钮|C/S开发框架
根据文件扩展名获取图片编码器如jpg/png格式|C/S开发框架
开发框架处理保存图片数据
OpenFileDialog Filter属性设置所有图片格式
C#.Net 上传图片,限制图片大小,检查类型完整版
C# CodeHighlighter生成的高亮着色HTML源码格式化
CSFramework.WebApi框架实现阿里云OSS上传、下载、删除文件功能
通用图片处理类CImageLibrary,预设存储JPG格式|C/S框架网
C#读取资源文件的图片
C#图片转换类支持按比例缩放图片
图像处理业务逻辑CImageLibrary类(C/S框架网开源)
Asp.Net FileUpload类实现上传文件(C/S框架网开源)
C#图片加水印(Generate Watermark Picture)
CSFrameworkV6旗舰版 | 导入导出Excel文件数据开发教程|C/S开发框架
GridControl表格自定义按钮设置按钮图片|C/S开发框架
CSFrameworkV6旗舰版 | 业务单据复制功能,支持复制多级明细表|C/S开发框架
CSFrameworkV6|主从表基础资料窗体扩展【复制】按钮|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
