c#与图像处理学习笔记(一)

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类只有三个成员,他们是剪贴板构造器,GetDataObjectSetDataObject

剪贴板构造器用来创建一个剪贴板对象,GetDataObjec方法用来将数据复制或剪切到剪贴板上,SetDataObject方法负责从剪贴板中恢复数据,它将返回IDataObject

 

拷贝(将图像拷贝到剪贴板,前提是已经建立了两个PictureBox控件pictureBox1pictureBox2,并且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 的成员

摘要: 为传送数据提供与格式无关的机制。

 (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。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值