本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。给图片添加版权信息(c#)
现在越来越多的网站都喜欢将用户上传的图片加上网站的版权信息,不要以为那是用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();
}
}
}