C#语言实例源码系列-实现图片合成功能

news2024/12/29 9:03:29
专栏分享
  • 点击跳转=>Unity3D特效百例
  • 点击跳转=>案例项目实战源码
  • 点击跳转=>游戏脚本-辅助自动化
  • 点击跳转=>Android控件全解手册

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉实践过程

😜效果

在这里插入图片描述

😜代码

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;
}

需要的再直接Call我,直接发。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/71525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于质量分析

背景 在日常工作过程中&#xff0c;作为测试&#xff0c;我们要及时反思总结历史出现的问题&#xff0c;以便于对日常的工作流程规范以及质量防护措施作出相应的调整作为下属&#xff0c;我们要定期的向上级反馈近期的产品质量情况基于以上的背景&#xff0c;我们需要定期对产…

java简单做一个消费者/生产者案例

首先 我们创建一个包 在包下创建 四个类 首先是奶箱类 milkBox 在业务中充当数据的存储类 参考代码如下 public class milkBox {private int milk;public void put (int milk){this.milk milk;System.out.println("送奶工将第"this.milk"瓶奶放入奶箱");…

华为是如何从0到1打造以项目为中心运作的项目管理体系的?

本文介绍了华为公司打破传统的功能型组织结构&#xff0c;从弱矩阵项目管理向强矩阵转变的历程。 内容包括如何全面铺设项目管理组织&#xff0c;转向“以项目为中心”。同时&#xff0c;通过一系列的政策、标准和规定统一项目管理语言&#xff0c;建设项目管理流程体系。 其…

Servlet与表单数据交互(如文本框、单选按钮、复选框、下拉列表等)

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;JAVA开发者…

基于遗传算法解决TSP问题(Matlab代码实现)

目录 1 概述 2 运行结果 3 Matlab代码实现 4 结语 5 参考文献 1 概述 旅行商问题是一个经典的路径规划问题&#xff0c;传统TSP假设客户位置和客户之间旅行时间是固定不变的&#xff0c;而在现实生活中交通状况和客户要求可能会随着时间而改变&#xff0c;为了找到最经济的…

(附源码)ssm教育机构管理系统 毕业设计 010224

ssm教育机构管理系统 摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设…

被AI包裹的冬天,智慧供热打破城市供热的“不可能三角”

最近很多城市都迎来了今冬以来的最强寒潮&#xff0c;在拉尼娜事件的影响下&#xff0c;一个格外寒冷的冬天似乎不可避免。而每次降温&#xff0c;有暖气的北方城市就会引来网络上一片艳羡之声。前不久网络上就流传着一个段子“南方人的命也是命&#xff0c;请给南方装暖气 ”&…

自定义jdk镜像

启动虚拟机&#xff0c;进入centos 1.创建文件夹上传jdk的安装包,和在同级目录下编写Dockerfile文件 #创建镜像目录 mkdir –p /javaxl_docker/jdk #安装lrzsz命令 yum install lrzsz -y #选择文件进行上传 rz # 注意d是大写 touch Dockerfile 2.编写 Dockerfile 文件 #1.指定基…

使用C++实现Windows和Linux的Flutter文档扫描插件

文档扫描应用大都是移动应用。结合手机摄像头可以实现文档拍摄&#xff0c;边缘检测&#xff0c;自动剪裁&#xff0c;透视矫正&#xff0c;滤镜等功能。但是桌面办公也少不了文档处理。这里分享下如何使用Dynamsoft Document Normalizer C SDK实现用于桌面文档处理的Flutter插…

抖音最新版抓包方案,修改so绕过ssl

dy过ssl charles抓包 及xposed的justtrustme安装到手机上只能过系统的ssl。 抖音写了一个非系统的ssl所以需要反编译so来处理。 第一步&#xff0c;charles 我用的是magisk手机&#xff0c;先重charles把证书下载到pc端 选项1&#xff0c;安装证书到本地 选项2&#xff0c…

Android桌面图标快捷方式

一、背景 长按桌面图标实现快捷方式最早是iOS提供的功能,而Android最早在Android 7.1版本也提供了对这方面的支持,于是在短时间内,像微信,支付宝,头条等流量级应用都提供了这方面的支持,如下图。 现在,长按桌面图标快捷方式已经是很成熟的功能,实现上也比较简单,主…

知识图谱-KGE-语义匹配-双线性模型(打分函数用到了双线性函数)-2011:RESCAL【双线性模型的开山之作】【把每个关系对应的邻接矩阵进行了矩阵的分解】

【paper】 A Three-Way Model for Collective Learning on Multi-Relational Data 【简介】 这篇文章应该算是双线性模型的开山之作。是德国的一个团队发表在 ICML 2011 上的工作&#xff0c;比较老了&#xff0c;主要思想是三维张量分解。 想研究啥&#xff0c;啥就很重要 Re…

Activity7-流程初体验

流程符号详解&#xff1a; 创建Activiti工作流的主要步骤包含以下几步: 1. 定义流程。按照BPMN的规范&#xff0c;使用流程定义工具&#xff0c;将整个流程描述出来。 2. 部署流程。把画好的BPMN流程定义文件加载到数据库中&#xff0c;生成相关的表数据。 3. 启动流程。使用…

基于粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清…

目标检测3

还是目标检测相关~这次是Box Size置信度偏差会损害目标检测器 检测器的置信度预测在目标大小和位置方面存在偏差&#xff0c;但目前尚不清楚这种偏差与受影响的目标检测器的性能有何关系。 无数应用依赖于目标检测器的可靠置信度估计的准确预测。然而&#xff0c;众所周知&am…

[附源码]Python计算机毕业设计Django在线招聘网站

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

突破40%!新能源汽车L2级辅助驾驶搭载率创新高

新能源汽车正在成为智能化的主力军。 高工智能汽车研究院监测数据显示&#xff0c;2022年1-10月中国市场&#xff08;不含进出口&#xff09;新能源汽车前装标配搭载L2级辅助驾驶交付上险167.51万辆&#xff0c;前装搭载率首次突破40%&#xff0c;达到41.93%&#xff1b;同期&…

[Java反序列化]CommonsBeanutils1利用链学习

0x01 前篇shiro的利用&#xff0c;需要动态字节码 &#xff0c;而这种方式需要我们自己添加依赖&#xff0c;所以很局限&#xff0c;而CommonsBeanutils 是shiro的依赖&#xff0c; CommonsBeanutils 是应用于 javabean 的工具 javabean的定义 类必须是具体的和公共的&#…

传统服务器与云服务器

传统服务器 传统服务器即物理服务器&#xff0c;是指独立服务器&#xff0c;也就是指物理上的单独服务器&#xff0c;物理服务器的构成包括处理器、硬盘、内存、系统总线等&#xff0c;和通用的计算机架构类似。 裸机物理服务器(BMS) 裸机服务器的官方定义是&#xff1a;裸机…

【嵌入式硬件芯片开发笔记】4-2 mADAC芯片AD5421配置流程

【嵌入式硬件芯片开发笔记】4-2 mADAC芯片AD5421配置流程 16位、串行输入、环路供电、4 mA至20 mA DAC 可用于HART协议相关电路 同AD5700配合使用 AD5421的SPI和普通的不一样 回读时要发两段 CS中间拉高一次 数据在SCLK上升沿逐个输出&#xff0c;而且在 SCLK下降沿有效 固CPO…