现在越来越多的网站都喜欢将用户上传的图片加上网站的版权信息,不要以为那是用PhotoShop之类的图片处理软件加上去的,其实我们只要写一小段代码,就可以实现这个功能。
添加版权信息的原理其实挺简单:通过图片获取Graphics类的对象,该类有一个DrawString()方法可以将信息写到图片上,甚至还可以做出各种各样的效果,如水印,背景透明等。最后保存图片即大功告成了。
我们创建一个Windows应用程序项目,界面设计如图
添加版权信息的代码如下:
代 码 : |
//创建一张位图 Bitmap bitmap=new Bitmap(this.pictureBox2.Width,this.pictureBox2.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); //根据位图获取画布 Graphics g=Graphics.FromImage(bitmap); //清空画布并用透明色填充 g.Clear(Color.Transparent); //将另一幅图片画到画布上 g.DrawImage(this.pictureBox1.Image,0,0); //写版权信息到图片上。 g.DrawString(this.textBox2.Text,new Font("黑体",15),new SolidBrush(Color.Red),new Rectangle(20,20,100,100)); //显示 this.pictureBox2.Image=bitmap; //保存图片 bitmap.Save("c://abc.bmp",System.Drawing.Imaging.ImageFormat.Bmp); 顺便帖一下“选择”按钮的单击事件程序: private void button1_Click(object sender, System.EventArgs e) { if(this.openFileDialog1.ShowDialog()==DialogResult.OK) { if(this.openFileDialog1.FileName.Length==0) { MessageBox.Show("请选择图片","错误",MessageBoxButtons.OK,MessageBoxIcon.Error); return; } this.textBox1.Text=this.openFileDialog1.FileName; FileStream fs=new FileStream(this.openFileDialog1.FileName,FileMode.Open,FileAccess.Read); try { this.pictureBox1.Image=Image.FromStream(fs); } catch(Exception) { MessageBox.Show("您选择的文件不是可识别的图片格式","错误",MessageBoxButtons.OK,MessageBoxIcon.Error); } finally { fs.Close(); } } } |