C# GDI+ 图片压缩工具类
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
"该资源提供了一段C#代码,用于使用GDI+库进行图片的压缩和解压缩操作。这段代码包含两个主要方法:`Bmptobyte`将Bitmap对象转换为字节数组(通常用于存储或传输),以及`bytetobmp`将字节数组还原为Bitmap对象。代码还表明它已经被验证过,可以直接在项目中使用。"
GDI+是Windows图形设备接口的一个扩展,允许程序员创建和操纵图像、文本和图形。在C#中,GDI+提供了丰富的类库,可以用来处理各种图像操作,如压缩和解压缩。以下是对标题和描述中涉及知识点的详细说明:
1. **GDI+**:
- GDI+是一个用于Windows应用程序的图形库,提供了绘制2D图形、文本和图像的能力。
- 它包括一系列的类,如`Graphics`、`Bitmap`、`Pen`、`Brush`等,这些类提供了绘制的基本元素。
2. **Bitmap对象**:
- `Bitmap`类是GDI+中的核心类之一,用于表示位图图像。它可以加载、显示和保存图像文件。
- 在代码中,`Bitmap bmp`表示一个位图对象,可以通过`Save`方法将其转换成特定格式的文件,如JPEG。
3. **压缩图片**:
- 在这段代码中,`bmp.Save(ms, ImageFormat.Jpeg)`这一行代码将Bitmap对象以JPEG格式保存到内存流`ms`中,实现了图片的压缩。JPEG是一种常用的有损压缩格式,适合于照片和其他连续色调的图像。
4. **MemoryStream**:
- `MemoryStream`是.NET Framework中的一个类,用于在内存中读写数据,这里用于临时存储图片的字节数据。
- `ms.Flush()`确保所有数据都写入到流中,而`ms.Close()`则释放与流相关的资源。
5. **转换方法**:
- `Bmptobyte`方法接收一个Bitmap对象,将其保存为JPEG格式的字节数组。这在需要将图片数据传输或存储时非常有用。
- `bytetobmp`方法接收一个字节数组,还原成Bitmap对象。这使得可以从字节数据重新构建图片。
6. **ImageFormat枚举**:
- `ImageFormat.Jpeg`是.NET Framework中的一个枚举值,表示JPEG图像格式。还有其他枚举值,如`ImageFormat.Png`、`ImageFormat.Bmp`等,分别对应不同的图像格式。
7. **使用方法**:
- 要使用这段代码,首先创建一个`ImgGDI`类的实例,然后调用`Bmptobyte`方法将Bitmap对象转换为字节数组,或者调用`bytetobmp`方法将字节数组还原为Bitmap对象。
这段代码适用于需要在C#程序中处理图片压缩和解压缩的场景,例如上传图片到服务器、在应用程序中存储和加载图片等。通过GDI+,开发者能够方便地对图像数据进行操作,提升应用程序的功能性和效率。
652 浏览量
158 浏览量
点击了解资源详情
160 浏览量
196 浏览量
2020-07-15 上传
124 浏览量
2020-04-04 上传
2009-01-08 上传
![](https://profile-avatar.csdnimg.cn/347acd5e2fe64e59b4663958a55ff84e_flyedbat.jpg!1)
flyedbat
- 粉丝: 0
最新资源
- TCP/IP协议详解——T/TCP深入解析
- AD与Domino同步配置指南
- 使用Eclipse与Derby构建数据库驱动的Web应用
- SPSS初学者指南:数据输入与分析
- MIDP1.0下动画效果的实现与关键技术剖析
- C#完全手册:从入门到精通
- Oracle初学者常见问题解答
- 移动AdHoc网络跨层服务质量模型:CQMM解析
- Oracle SQL*PLUS 命令详解与使用
- 蓝桥教程:BlueJ 1.2版指南
- Oracle日常维护指南:UT斯达康通讯有限公司
- Oracle9i管理员指南 for UNIX系统
- 上海荣友展览展示有限公司网上购物系统设计与实现
- HTML入门教程:从零开始构建网页
- Steve Maguire的C++完美程式设计实战指南
- ANSYS接触分析详解:中文翻译与关键策略