图像拼接效果展示


选择图片一、选择图片二
private void ImageSelect1_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Title = "请选择图片";ofd.InitialDirectory = "D:\\Image";ofd.Filter = "图片|*.gif;*.jpg;*.jpeg;*.bmp;*.png;*.jfif";if(ofd.ShowDialog() == DialogResult.OK){pictureBox1.Image=Image.FromFile(ofd.FileName);}}private void ImageSelect2_Click(object sender, EventArgs e){OpenFileDialog ofd = new OpenFileDialog();ofd.Title = "请选择图片";ofd.InitialDirectory = "D:\\Image";ofd.Filter = "图片|*.gif;*.jpg;*.jpeg;*.bmp;*.png;*.jfif";if (ofd.ShowDialog() == DialogResult.OK){pictureBox2.Image = Image.FromFile(ofd.FileName);}}
封装图像拼接
Bitmap MergeImage(Bitmap p1,Bitmap p2){Bitmap bitmap=new Bitmap(p1.Width,p1.Height);//从 Bitmap 创建 Graphics 对象Graphics g = Graphics.FromImage(bitmap);// 0,0:目标图形表面的起始坐标(x=0,y=0),左上角开始绘制// pictureBox.Width/2:图像在目标图像表面上的宽度,这里是pictrueBox3 控件宽度的一半// pictureBox.Height: 图像在目标图形表面上高度,等于pictureBox3 控件的高度g.DrawImage(p1, 0, 0,pictureBox3.Width/2, pictureBox3.Height);g.DrawImage(p2, pictureBox3.Width/2-1, 0,pictureBox3.Width/2, pictureBox3.Height);return bitmap;}
合并图像
private void Merge_Click(object sender, EventArgs e){if(pictureBox1.Image==null||pictureBox2.Image==null){MessageBox.Show("请先进行选图","提示",MessageBoxButtons.OK, MessageBoxIcon.Error);return;}var bmp = MergeImage((Bitmap)pictureBox1.Image, (Bitmap)pictureBox2.Image);pictureBox3.Image = bmp;}
