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目前是空,刚显示时如下;
然后鼠标单击,在单击位置输出"单击了",此时文件名已有,再触发Paint事件,文件名也输出在图片上;
保存图片,调用图片控件的Image属性的Save方法;
((Bitmap)this.pictureBox1.Image).Save(savePath, System.Drawing.Imaging.ImageFormat.Jpeg);
保存之后看一下,只是保存了图片,图片上绘制的文字并未同时保存;
打开文件对话框的FileName属性返回打开文件的全路径名,SafeFileName属性返回不带路径的文件名;
string filePath = openFileDialog.FileName;
selname = openFileDialog.SafeFileName;
有时间继续;