位图基本操作c#

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#位图图像的基本操作 一、图像处Βιβλιοθήκη Baidu基础
(1) 屏幕坐标系 显示器屏幕是计算机图形系统的硬件设备,其大小是不能改变的。在标准
设置下。屏幕坐标系的原点(0,0)在屏幕的左上角,X、Y 轴坐标值分别向 右、向下增加,如图所示。
(2) 窗体坐标系 窗体坐标系原点在标准设置下均在其工作区的左上角,y 轴向下为正方向,X 轴向右为正方向。
//显示输入对话框
Bitmap image=new Bitmap (openfile.FileName ) ;
//用文件名构造 bitmap 对象
pictureBox1.Image =image;//打开图像
}
5
OpenFileDialog 对话框的常用属性 FileName:string 类型,选定的要打开文件的文件名。 Filter:string 类型,设置打开文件的类型。 设置打开多种文件:(*.bmp)|*.bmp|(*.jpg)|*.jpg|all file(*.*)|*.*
图所示。
4
step2:单击 Image 属性右侧的“…”,则弹出一个打开对话框,如图所 示。
step3:选择图像文件后,单击“打开”按钮。
(2) 使用 OpenFileDialog 输入对话框设定 image 打开图像
基本格式 在图像处理中,在程序中设定image将位图图像文件在对象内打开的基本 格式为:
3
常用方法 FromArgb(r,g,b),有颜色分量创建 color 结构。 例如:由获得得颜色值分量创建新的 color 结构
c=image1.GetPixel (i,j); r=c.R; g=c.G; b=c.B; Color c1=Color.FromArgb(r,g,b); 三、位图文件的输入和保存 1、图像文件的打开 将图像在窗体或图片框内打开有两种方式: 在窗体设计时使用对象的 Image 属性。 在程序中使用 OpenFileDialog 输入对话框设定 image。 (1) 在窗体设计时使用对象的 Image 属性打开图像 窗体设计时使用对象的 Image 属性打开图像的操作如下: step1:选择对象属性中的 Image 属性。例如,在窗体内打开图像时,如
使用按钮和输入对话框打开图像时,单击命令钮事件的过程如下:
private void open_Click(object sender, System.EventArgs e)
{ OpenFileDialog openfile=new OpenFileDialog ();
openfile.ShowOpen();
Bitmap image=new Bitmap (FileName ); pictureBox1.Image =image;
string 类型的参数 FileName 为打开的位图图像文件名。
例如,将文件“aaa.BMP"打开图片框 1 时,可写为: Bitmap image=new Bitmap ("aaa.BMP" ); pictureBox1.Image =image;
} 执行该过程时,将打开保存对话框,选择合适的文件夹和文件名保存。
6
常用属性: width:获得 bitmap 对象的宽度 height: 获得 bitmap 对象的高度
常用方法 GetPixel ——图像像素颜色的获取 在彩色图像处理中,获取图像上指定位置像素颜色值使用 GetPixel 方法,格 式为:
Object.GetPixel (x,y) 其中,Object 表示获取颜色的对象名,(x,y)为取得颜色的坐标位置。 GetPixel 方法返回 color 类型的变量,存储指定位置的颜色值。例如,求图 片框 1 中图像在位置(x,y)的像素颜色值(c)时,可写为: Color c=new Color(); c=image1.GetPixel (x,y); SetPixel ——图像像素颜色的设定 在彩色图像处理中,获取图像上指定位置像素颜色值使用 SetPixel 方
2、位图图像的存储
在 c#图像处理中,将 pictureBox 中的位图图像文件保存的基本格式为: pictureBox.Image.Save (filename); 其中 filename 为存储文件名。
例如,将图形框的内容保存在文件"SSS.BMP"内时,可写为: pictureBox.Image.Save ("sss.BMP")
(3) color 对象 常用属性:B、G、R,颜色的红绿蓝分量,用于彩色位图颜色值分解。 像素颜色值是一个长整形的数值,使用 4 个字节,最上位字节的值为“0”,
其他 3 个下位字节依次为 B、G、R,值为 0--255。 用 GetPixel (x,y)方法获得的颜色值可以直接引用其 B、G、R 分量。 算法为: Color c=new Color() c= image1.Point(x,y)‘取出图像上点(x,y)的颜色值 R= c.R‘分解红色分量 G=c.G ‘分解绿色分量 B=c.B‘分解蓝色分量
当使用按钮和保存对话框保存文件时,单击命令钮事件的过程如下: private void save_Click(object sender, System.EventArgs e)
{ SaveFileDialog savefile=new SaveFileDialog(); savefile.ShowDialog (); pictureBox1.Image.Save (savefile.FileName);
该图表示将一个图片框放在窗体上,图片框的左上角位于窗体坐标系原点
1
(0,0)的情形。 二、c#图像处理基础 (1) c#图像处理组件 PictureBox 控件。设置其 image 属性,可以在窗体上加载和显示图片。 (2) bitmap 对象 用于处理像素数据定义的图像对象。
构造方法 Bitmap image=new Bitmap (FileName ),参数 FileName 为打开的位图图像文 件名。 Bitmap image=new Bitmap (pictureBox1.Image ),参数 pictureBox.Image 为 pictureBox 对象的 Image 属性。
2
法,格式为: Object.SetPixel (x,y,c) X,y 为整形,表示指定位置的水平和垂直方向上的坐标; C 位 color 类型,表示指定颜色。
例如,使用下面的程序段,可以将图形框 1 的图像诸像素复制到图形框 2。 for(int i=0;i<image1.Width ;i++) { for(int j=0;j<image1.Height ;j++) { c=image1.GetPixel (i,j); image2.SetPixel(i,j,c); } } pictureBox2.Refresh (); pictureBox2.Image =image2;
相关文档
最新文档