c#与图像处理学习笔记(一)
2009-07-12 02:31
127 查看
http://blog.ednchina.com/cola123/203676/message.aspx#
1、 打开一幅图像
首先加入一个PictureBox 控件pictureBox1,然后打开一幅图像在该控件中显示:
private void buttonOpen_Click(object sender, System.EventArg e)
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = “BMP 格式(*.BMP)|*.BMP|所有格式(*.*)|*.*”;
if(ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
pictureBox1.Image = image;
}
}
2、 保存一幅图像
像上面那样已经打开一幅图像的前提下,将打开的图像保存:
private void buttonSave_Click(object sender, System.EventArg e)
{
string str;
Bitmap box1 = new Bitmap(pictureBox1.Image);
SaveFileDialog sfdlg = new SaveFileDialog();
sfdlg.Filter =”BMP 格式(*.BMP)|*.BMP|所有格式(*.*)|*.*”;
sfdlg.ShowDialog();
str=sfdlg.FileName;
pictureBox1.Image.Save(str);
}
3、 图像拷贝和粘贴
在visual C#中,ClipBoard类提供了将数据放在系统剪贴板以及从系统剪贴板恢复数据的方法。ClipBoard类只有三个成员,他们是剪贴板构造器,GetDataObject和SetDataObject。
剪贴板构造器用来创建一个剪贴板对象,GetDataObjec方法用来将数据复制或剪切到剪贴板上,SetDataObject方法负责从剪贴板中恢复数据,它将返回IDataObject。
拷贝:(将图像拷贝到剪贴板,前提是已经建立了两个PictureBox控件pictureBox1和pictureBox2,并且pictureBox1已经打开了一幅图像)
private void buttonCopy_Click ()
{
CilpBoard.SetDataObject(pictureBox1.Image);
}
粘贴:(将pictureBox1中复制到粘贴板中的图像粘贴到pictureBox2中)
private void buttonPaste_Click()
{
IDataObject iData="Clipboard".GetDataObject();
if(iData.GetDataPresent(DataFormats.Bitmap))
{
pictureBox2.Image=(Bitmap)iData.GetData(DataFormats.Bitmap);
}
}
相关MSDN:
(1) public interface IDataObject
System.Windows.Forms 的成员
摘要[b]: [/b]为传送数据提供与格式无关的机制。
(2) bool GetDataPresent(System.Type format)
System.Windows.Forms.IDataObject 的成员
摘要: 确定此实例中存储的数据是否与指定的格式关联,或是否可以转换成指定的格式。
参数:
format: System.Type 表示要检查的格式。请参见 System.Windows.Forms.DataFormats 以获取预定义的格式。
返回值: 如果此实例中存储的数据与指定的格式关联,或者可以转换成指定的格式,则为 true;否则为 false。
(3) object GetData(System.Type format)
System.Windows.Forms.IDataObject 的成员
摘要: 检索与指定的类类型格式关联的数据。
参数:
format: System.Type 表示要检索的数据的格式。请参见 System.Windows.Forms.DataFormats 以获取预定义的格式。
返回值: 与指定格式关联的数据,或为 null。
1、 打开一幅图像
首先加入一个PictureBox 控件pictureBox1,然后打开一幅图像在该控件中显示:
private void buttonOpen_Click(object sender, System.EventArg e)
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = “BMP 格式(*.BMP)|*.BMP|所有格式(*.*)|*.*”;
if(ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
pictureBox1.Image = image;
}
}
2、 保存一幅图像
像上面那样已经打开一幅图像的前提下,将打开的图像保存:
private void buttonSave_Click(object sender, System.EventArg e)
{
string str;
Bitmap box1 = new Bitmap(pictureBox1.Image);
SaveFileDialog sfdlg = new SaveFileDialog();
sfdlg.Filter =”BMP 格式(*.BMP)|*.BMP|所有格式(*.*)|*.*”;
sfdlg.ShowDialog();
str=sfdlg.FileName;
pictureBox1.Image.Save(str);
}
3、 图像拷贝和粘贴
在visual C#中,ClipBoard类提供了将数据放在系统剪贴板以及从系统剪贴板恢复数据的方法。ClipBoard类只有三个成员,他们是剪贴板构造器,GetDataObject和SetDataObject。
剪贴板构造器用来创建一个剪贴板对象,GetDataObjec方法用来将数据复制或剪切到剪贴板上,SetDataObject方法负责从剪贴板中恢复数据,它将返回IDataObject。
拷贝:(将图像拷贝到剪贴板,前提是已经建立了两个PictureBox控件pictureBox1和pictureBox2,并且pictureBox1已经打开了一幅图像)
private void buttonCopy_Click ()
{
CilpBoard.SetDataObject(pictureBox1.Image);
}
粘贴:(将pictureBox1中复制到粘贴板中的图像粘贴到pictureBox2中)
private void buttonPaste_Click()
{
IDataObject iData="Clipboard".GetDataObject();
if(iData.GetDataPresent(DataFormats.Bitmap))
{
pictureBox2.Image=(Bitmap)iData.GetData(DataFormats.Bitmap);
}
}
相关MSDN:
(1) public interface IDataObject
System.Windows.Forms 的成员
摘要[b]: [/b]为传送数据提供与格式无关的机制。
(2) bool GetDataPresent(System.Type format)
System.Windows.Forms.IDataObject 的成员
摘要: 确定此实例中存储的数据是否与指定的格式关联,或是否可以转换成指定的格式。
参数:
format: System.Type 表示要检查的格式。请参见 System.Windows.Forms.DataFormats 以获取预定义的格式。
返回值: 如果此实例中存储的数据与指定的格式关联,或者可以转换成指定的格式,则为 true;否则为 false。
(3) object GetData(System.Type format)
System.Windows.Forms.IDataObject 的成员
摘要: 检索与指定的类类型格式关联的数据。
参数:
format: System.Type 表示要检索的数据的格式。请参见 System.Windows.Forms.DataFormats 以获取预定义的格式。
返回值: 与指定格式关联的数据,或为 null。
相关文章推荐
- C#与图像处理学习笔记(三)
- C#与图像处理学习笔记(二)
- C#与图像处理学习笔记(三)
- C#学习笔记(十):反射
- C#学习笔记二
- C#学习笔记
- C#学习之路,学习笔记 第七章 面向对象编程:类和对象(一)
- 黑马程序员之C# 学习笔记:打包的简述
- C#学习笔记 5 运算符
- C#学习笔记-LINQ
- C#学习笔记之调用动态库
- C#学习笔记2——变量
- C#学习笔记 4 常量和变量
- C#/WPF学习笔记:class 与 struct
- Programming C# 学习笔记(一) C#与.NET框架
- C# 学习笔记_委托(二)Action与Func
- 《Pro ASP.NET MVC 3 Framework》学习笔记之六【C#部分特性】
- .NET学习笔记-2:C#中判断空字符串的4种方法性能比较与分析
- C# 2008 学习笔记 - LINQ基础(三)- LINQ语法 (转)
- C#学习笔记002-数组和冒泡排序