基于C#实现图片合成功能

作者:芝麻粒儿 时间:2022-08-23 07:21:13 

实践过程

效果

基于C#实现图片合成功能

代码

public partial class Form1 : Form
{
   public Form1()
   {
       InitializeComponent();
   }

private void button1_Click(object sender, EventArgs e)
   {
       if (openFileDialog1.ShowDialog() == DialogResult.OK)
       {
           pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
       }
   }

private void button2_Click(object sender, EventArgs e)
   {
       if (openFileDialog2.ShowDialog() == DialogResult.OK)
       {
           pictureBox2.Image = Image.FromFile(openFileDialog2.FileName);
       }
   }

private void button3_Click(object sender, EventArgs e)
   {
       if (pictureBox1.Image != null && pictureBox2.Image != null)
       {
           Bitmap bt = new Bitmap(pictureBox1.Image);
           Graphics g = Graphics.FromImage(bt);
           g.DrawImage(pictureBox2.Image,new Point(5,5));
           pictureBox3.Image = bt;
       }
   }
}
partial class Form1
{
   /// <summary>
   /// 必需的设计器变量。
   /// </summary>
   private System.ComponentModel.IContainer components = null;

/// <summary>
   /// 清理所有正在使用的资源。
   /// </summary>
   /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
   protected override void Dispose(bool disposing)
   {
       if (disposing && (components != null))
       {
           components.Dispose();
       }
       base.Dispose(disposing);
   }

#region Windows 窗体设计器生成的代码

/// <summary>
   /// 设计器支持所需的方法 - 不要
   /// 使用代码编辑器修改此方法的内容。
   /// </summary>
   private void InitializeComponent()
   {
       this.button1 = new System.Windows.Forms.Button();
       this.button2 = new System.Windows.Forms.Button();
       this.pictureBox1 = new System.Windows.Forms.PictureBox();
       this.pictureBox2 = new System.Windows.Forms.PictureBox();
       this.button3 = new System.Windows.Forms.Button();
       this.pictureBox3 = new System.Windows.Forms.PictureBox();
       this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
       this.openFileDialog2 = new System.Windows.Forms.OpenFileDialog();
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
       this.SuspendLayout();
       //
       // button1
       //
       this.button1.Location = new System.Drawing.Point(12, 12);
       this.button1.Name = "button1";
       this.button1.Size = new System.Drawing.Size(121, 23);
       this.button1.TabIndex = 0;
       this.button1.Text = "选择第一张图片";
       this.button1.UseVisualStyleBackColor = true;
       this.button1.Click += new System.EventHandler(this.button1_Click);
       //
       // button2
       //
       this.button2.Location = new System.Drawing.Point(139, 12);
       this.button2.Name = "button2";
       this.button2.Size = new System.Drawing.Size(121, 23);
       this.button2.TabIndex = 1;
       this.button2.Text = "选择第二张图片";
       this.button2.UseVisualStyleBackColor = true;
       this.button2.Click += new System.EventHandler(this.button2_Click);
       //
       // pictureBox1
       //
       this.pictureBox1.Location = new System.Drawing.Point(12, 41);
       this.pictureBox1.Name = "pictureBox1";
       this.pictureBox1.Size = new System.Drawing.Size(248, 160);
       this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
       this.pictureBox1.TabIndex = 2;
       this.pictureBox1.TabStop = false;
       //
       // pictureBox2
       //
       this.pictureBox2.Location = new System.Drawing.Point(12, 216);
       this.pictureBox2.Name = "pictureBox2";
       this.pictureBox2.Size = new System.Drawing.Size(248, 186);
       this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
       this.pictureBox2.TabIndex = 3;
       this.pictureBox2.TabStop = false;
       //
       // button3
       //
       this.button3.Location = new System.Drawing.Point(266, 12);
       this.button3.Name = "button3";
       this.button3.Size = new System.Drawing.Size(121, 23);
       this.button3.TabIndex = 4;
       this.button3.Text = "合成图片";
       this.button3.UseVisualStyleBackColor = true;
       this.button3.Click += new System.EventHandler(this.button3_Click);
       //
       // pictureBox3
       //
       this.pictureBox3.Location = new System.Drawing.Point(266, 41);
       this.pictureBox3.Name = "pictureBox3";
       this.pictureBox3.Size = new System.Drawing.Size(379, 363);
       this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
       this.pictureBox3.TabIndex = 5;
       this.pictureBox3.TabStop = false;
       //
       // openFileDialog1
       //
       this.openFileDialog1.Filter = "图片文件|*.jpg;*.jpeg;*.png;*.bmp";
       //
       // openFileDialog2
       //
       this.openFileDialog2.Filter = "图片文件|*.jpg;*.jpeg;*.png;*.bmp";
       //
       // Form1
       //
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.ClientSize = new System.Drawing.Size(657, 416);
       this.Controls.Add(this.pictureBox3);
       this.Controls.Add(this.button3);
       this.Controls.Add(this.pictureBox2);
       this.Controls.Add(this.pictureBox1);
       this.Controls.Add(this.button2);
       this.Controls.Add(this.button1);
       this.Name = "Form1";
       this.Text = "Form1";
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
       ((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
       this.ResumeLayout(false);

}

#endregion

private System.Windows.Forms.Button button1;
   private System.Windows.Forms.Button button2;
   private System.Windows.Forms.PictureBox pictureBox1;
   private System.Windows.Forms.PictureBox pictureBox2;
   private System.Windows.Forms.Button button3;
   private System.Windows.Forms.PictureBox pictureBox3;
   private System.Windows.Forms.OpenFileDialog openFileDialog1;
   private System.Windows.Forms.OpenFileDialog openFileDialog2;
}

来源:https://zhima.blog.csdn.net/article/details/128227674

标签:C#,图片,合成
0
投稿

猜你喜欢

  • python、java等哪一门编程语言适合人工智能?

    2021-06-04 03:22:53
  • Java编写网上超市购物结算功能程序

    2021-10-29 13:55:52
  • JAVA像SQL一样对List对象集合进行排序

    2023-11-01 12:36:24
  • java多线程Future和Callable类示例分享

    2021-09-02 09:49:37
  • Spring钩子接口汇总分析使用示例

    2022-09-24 23:29:56
  • C#获取任务栏显示进程的方法

    2023-08-28 11:09:53
  • MyBatis核心源码深度剖析SQL语句执行过程

    2022-11-09 01:05:39
  • Automapper实现自动映射的实例代码

    2023-08-14 16:37:10
  • Java Collection集合的三种遍历方式详解

    2023-04-29 08:11:40
  • Android项目实战之百度地图地点签到功能

    2022-09-04 09:30:47
  • Java中equalsIgnoreCase()方法的使用

    2022-07-28 15:13:45
  • Android 列表倒计时的实现的示例代码(CountDownTimer)

    2021-08-03 09:08:02
  • Java简单工厂模式详细解释

    2021-09-20 16:12:07
  • Java 实现订单未支付超时自动取消功能(京东商城为例)

    2023-04-20 17:08:06
  • 详解c#与python的交互方式

    2023-12-13 09:16:11
  • Dubbo服务校验参数的解决方案

    2023-06-09 14:30:10
  • Android 判断SIM卡属于哪个移动运营商详解及实例

    2023-08-25 15:29:39
  • springMVC引入Validation的具体步骤详解

    2021-12-19 18:30:19
  • springboot项目中使用Swagger的简单示例

    2023-01-14 05:18:24
  • android View 绘制完成监听的实现方法

    2023-08-06 20:47:05
  • asp之家 软件编程 m.aspxhome.com