如何给网站上传的图片自动加水印?

iammarrylove 2007-03-21 09:13:27
有很多交友网站,当会员上传了自己的生活照片的时候,网站自动给
每张上传的图片加上"烙印" :如打上自己的网站中文名字和网址等烙印,
"某某网站www.***.com" 等这样的水印,我们的网站是用asp.net (C# )编写的程序,请问技术上一般如何实现这个功能呢?

是程序处理的还是图像功能处理的?
多谢!
...全文
1424 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
min123a 2012-08-13
  • 打赏
  • 举报
回复
不错支持了。正要这样的代码。不过看不懂
Pro_X 2012-07-29
  • 打赏
  • 举报
回复
实用!
SunSkyFire 2012-06-09
  • 打赏
  • 举报
回复
这么麻烦呀?这么多代码,我是做自己wordpress站点的,只是想在自己站点上放图片时加上水印,怎么办才好?
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
没遇到过这种情况.
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
jiewenzhai 2007-04-10
  • 打赏
  • 举报
回复
路过,接分。
tashero 2007-04-09
  • 打赏
  • 举报
回复
private void Btn_Upload_Click(object sender, System.EventArgs e)
  {
  if(UploadFile.PostedFile.FileName.Trim()!="")
  {
  //上传文件
  string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
  string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
  string path = Server.MapPath(".") + "/UploadFile/" + fileName + extension;
  UploadFile.PostedFile.SaveAs(path);
  //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
  System.Drawing.Image image = System.Drawing.Image.FromFile(path);
  Graphics g = Graphics.FromImage(image);
  g.DrawImage(image, 0, 0, image.Width, image.Height);
  Font f = new Font("Verdana", 32);
  Brush b = new SolidBrush(Color.White);
  string addText = AddText.Value.Trim();
  g.DrawString(addText, f, b, 10, 10);
  g.Dispose();
  //加图片水印
  System.Drawing.Image image = System.Drawing.Image.FromFile(path);
  System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath(".") + "/Alex.gif");
  Graphics g = Graphics.FromImage(image);
  g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
  g.Dispose();
  //保存加水印过后的图片,删除原始图片
  string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;
  image.Save(newPath);
  image.Dispose();
  if(File.Exists(path))
  {
  File.Delete(path);
  }
  Response.Redirect(newPath);
  }
  }
下面的代码中,加文字水印和加图片水印的代码不能共存,为了方便显示才写在一块的 private void Btn_Upload_Click(object sender, System.EventArgs e) { if(UploadFile.PostedFile.FileName.Trim()!="") { //上传文件 string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper(); string fileName = DateTime.Now.ToString("yyyyMMddhhmmss"); string path = Server.MapPath(".") + "/UploadFile/" + fileName + extension; UploadFile.PostedFile.SaveAs(path); //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存 System.Drawing.Image image = System.Drawing.Image.FromFile(path); Graphics g = Graphics.FromImage(image); g.DrawImage(image, 0, 0, image.Width, image.Height); Font f = new Font("Verdana", 32); Brush b = new SolidBrush(Color.White); string addText = AddText.Value.Trim(); g.DrawString(addText, f, b, 10, 10); g.Dispose(); //加图片水印 System.Drawing.Image image = System.Drawing.Image.FromFile(path); System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath(".") + "/Alex.gif"); Graphics g = Graphics.FromImage(image); g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel); g.Dispose(); //保存加水印过后的图片,删除原始图片 string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension; image.Save(newPath); image.Dispose(); if(File.Exists(path)) { File.Delete(path); } Response.Redirect(newPath); } }
21xxb 2007-03-21
  • 打赏
  • 举报
回复
在网上找应该有源代码的吧。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 图象工具使用
社区管理员
  • 图象工具使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧