C#在图片上输出文字和保存

winform,图片控件,加载一个图片,在图片上输出文字;

输出文字的代码如下;

        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g1 = e.Graphics;

            g1.DrawString("测试", this.Font, Brushes.Black, 100, 50);
            g1.DrawString(selname, this.Font, Brushes.Black, 150, 100);
        }

        private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
        {
            Graphics g = Graphics.FromHwnd(pictureBox1.Handle);
            g.DrawString("单击了", this.Font, Brushes.Black, e.Location.X, e.Location.Y);
        }

代码中的selname是文件名;

首先是在图片控件的Paint事件里输出文字;

当图片控件刚显示,还没有加载图片时,会触发一次Paint事件,此时会DrawString("测试")和DrawString(selname),selname目前是空,刚显示时如下;

C#在图片上输出文字和保存_第1张图片

然后鼠标单击,在单击位置输出"单击了",此时文件名已有,再触发Paint事件,文件名也输出在图片上;

C#在图片上输出文字和保存_第2张图片 

保存图片,调用图片控件的Image属性的Save方法;

((Bitmap)this.pictureBox1.Image).Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);

保存之后看一下,只是保存了图片,图片上绘制的文字并未同时保存;

打开文件对话框的FileName属性返回打开文件的全路径名,SafeFileName属性返回不带路径的文件名;

                    string filePath = openFileDialog.FileName;
                    selname = openFileDialog.SafeFileName;

有时间继续; 

你可能感兴趣的:(.Net,图像处理和识别,c#,开发语言,PictureBox,Image)