C#图像处理方法大全:图像显示、格式转换等
72 浏览量
更新于2024-08-28
收藏 536KB PDF 举报
C#图像处理的多种方法
C#图像处理是计算机视觉和图形图像处理领域中的一个重要方向。通过本文,我们将学习C#图像处理的多种方法,包括在Form1窗体中的PictureBox1控件中显示通过OpenFileDialog指定的图像文件内容、编制一个图像格式转换的应用程序,实现BMP图像与JPEG图像的格式转换等。
一、在Form1窗体中的PictureBox1控件中显示通过OpenFileDialog指定的图像文件内容
在C#中,我们可以使用OpenFileDialog控件来选择图像文件,然后将其显示在PictureBox1控件中。为实现这一功能,我们需要在Form1窗体中添加一个PictureBox1控件和一个MenuStrip控件,其中MenuStrip控件中包含一个“打开”菜单项。然后,我们可以在“打开”菜单项的Click事件处理程序中编写代码,使用OpenFileDialog控件来选择图像文件,并将其显示在PictureBox1控件中。
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "所有文件|*.*";
if (open.ShowDialog() == DialogResult.OK)
{
Bitmap im = new Bitmap(open.FileName);
pictureBox1.Image = im;
//pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
在上面的代码中,我们首先创建了一个OpenFileDialog控件,并将其Filter属性设置为“所有文件|*.*”,以便选择所有类型的文件。然后,我们使用ShowDialog()方法来显示OpenFileDialog控件,并获取用户选择的文件名。如果用户点击了“打开”按钮,则将文件名赋值给Bitmap对象,并将其显示在PictureBox1控件中。
二、编制一个图像格式转换的应用程序,实现BMP图像与JPEG图像的格式转换
在C#中,我们可以使用System.Drawing.Imaging命名空间中的ImageFormat类来实现图像格式转换。具体来说,我们可以使用Bitmap类的Save()方法来将图像保存为不同的格式,例如BMP和JPEG。
private void bMPToolStripMenuItem_Click(object sender, EventArgs e)
{
Bitmap box = new Bitmap(pictureBox1.Image);
SaveFileDialog sv1 = new SaveFileDialog();
sv1.Filter = "bmp|*.bmp";
sv1.ShowDialog();
string str = sv1.FileName;
box.Save(str, System.Drawing.Imaging.ImageFormat.Bmp);
}
private void jPEGToolStripMenuItem_Click(object sender, EventArgs e)
{
Bitmap box = new Bitmap(pictureBox1.Image);
SaveFileDialog sv1 = new SaveFileDialog();
sv1.Filter = "jpeg文件|*.jpeg";
sv1.ShowDialog();
string str = sv1.FileName;
box.Save(str, System.Drawing.Imaging.ImageFormat.Jpeg);
}
在上面的代码中,我们首先创建了一个Bitmap对象,并将其初始化为PictureBox1控件中的图像。然后,我们使用SaveFileDialog控件来选择保存文件的路径和格式。最后,我们使用Bitmap类的Save()方法将图像保存为BMP或JPEG格式。
本文提供了C#图像处理的多种方法,包括在Form1窗体中的PictureBox1控件中显示通过OpenFileDialog指定的图像文件内容、编制一个图像格式转换的应用程序,实现BMP图像与JPEG图像的格式转换等。这些方法可以帮助开发者更好地实现图像处理的功能。
2021-03-26 上传
200 浏览量
2016-01-27 上传
307 浏览量
2009-09-17 上传
2018-07-29 上传
110 浏览量
2013-01-15 上传
2017-09-10 上传
weixin_38588394
- 粉丝: 8
- 资源: 954
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍