美文网首页
图片合成与添加文字

图片合成与添加文字

作者: forsek | 来源:发表于2017-10-13 19:50 被阅读0次
    一. 图片合成
    1. 确认两张素材图片的像素尺寸,决定合成方法(拼接/叠加),根据方法,计算出合成新图片的尺寸。
    素材图片1,像素尺寸宽344,高384 素材图片2,像素尺寸宽229,高40

    将图2放入图1右下黑色区域方法如下:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private Bitmap bit1;//(图片1)
            private Bitmap bit2;//(图片2)
            //合并图片
            private void button1_Click(object sender, EventArgs e)
            {
                Bitmap bit = new Bitmap(344, 384);//新建大小为344×384大小的画布
                Graphics graphics = Graphics.FromImage(bit);
                graphics.DrawImage(bit1, 0, 0, 344, 384); //绘制图片,并指定其位置,
                //DrawImage方法内参数(图片名(变量类型:Image),图片左上角x坐标(int),图片左上角y坐标(int),图片宽度(int),图片高度(int))
                graphics.DrawImage(bit2, 115,344,229,40);
                this.pictureBox3.Image = bit;//最终合并成功的图片
            }
        }
    
    二. 图片添加文字

    在上述图片中再添加文字的方法:

            private Bitmap bit1;//上提示图片(图片1)
            private Bitmap bit2;//验证码图片(图片2)
    
            //合并图片
            private void button1_Click(object sender, EventArgs e)
            {
                Bitmap bit = new Bitmap(344, 384);//新建大小为200×230大小的画布
                Graphics graphics = Graphics.FromImage(bit);
                graphics.DrawImage(bit1, 0, 0, 344, 384); //绘制图片,并指定其位置
                graphics.DrawImage(bit2, 115,344,229,40);
                DrawNumber(pictureBox3, graphics);//调用添加文字方法,在pictureBox3中显示
                this.pictureBox3.Image = bit;//最终合并成功的图片
            }
    
            //图片1
            private void pictureBox1_DoubleClick(object sender, EventArgs e)
            {
                if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    string path = this.openFileDialog1.FileName;//获得图片路径
                    bit1 = new Bitmap(path);
                    this.pictureBox1.Image = bit1;
                }
            }
    
            //图片2
            private void pictureBox2_DoubleClick(object sender, EventArgs e)
            {
                if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    string path = this.openFileDialog1.FileName;//获得图片路径
                    bit2 = new Bitmap(path);
                    this.pictureBox2.Image = bit2;
                }
            }
    
            //图片上添加文字方法
            //要添加的文字内容与位置
            public static void DrawNumber(PictureBox pictureBox, Graphics g)
            {
                DrawString(g, "点击左边的字", 115, 300);
            }
    
            //添加的文字字体,字号,颜色等信息
            private static void DrawString(Graphics g, string s, float x, float y)
            {
                g.DrawString(s, new System.Drawing.Font("????", 16, FontStyle.Bold), new System.Drawing.SolidBrush(System.Drawing.Color.Red), x, y);
            }
    

    相关文章

      网友评论

          本文标题:图片合成与添加文字

          本文链接:https://www.haomeiwen.com/subject/lactuxtx.html