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.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
string path = Server.MapPath(".") + "/UploadFile/" + fileName + extension;
UploadFile.PostedFile.SaveAs(path);
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
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();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//加图片水印
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();
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
//保存加水印过后的图片,删除原始图片
string newPath = Server.MapPath(".") + "/UploadFile/" + fileName + "_new" + extension;
image.Save(newPath);
image.Dispose();
if(File.Exists(path))
{
File.Delete(path);
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
Response.Redirect(newPath);
}
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
posted on 2004-10-20 10:04 流浪的狗 阅读(18396) 评论(35) 编辑 收藏 网摘 所属分类: Dotnet C#
评论
#1楼 2004-10-21 10:39 Stephen
可以直接对时间定义输出格式:DateTime.Now.ToString("yyyyMMddhhmmss"); 回复 引用 查看
#2楼 [楼主] 2004-10-21 10:44 边城浪子
哦,我知道了,多谢指教,呵呵 回复 引用 查看
#3楼 61.49.135.* 2004-10-24 22:03 pq [未注册用户]
小白。这个怎么也支持折叠啊。 是自己写了脚本还是网站本来就支持的? 回复 引用
#4楼 211.99.124.* 2004-11-18 20:37 夜行人 [未注册用户]
水印加上了怎么有锯齿啊 回复 引用
#5楼 155.69.103.* 2004-11-26 16:03 快乐天使 [未注册用户]
能不能把完整的验证码(加水印)给出来呀?
小弟是菜鸟,多谢赐教。 回复 引用
#6楼 211.155.244.* 2004-12-18 12:58 007 [未注册用户]
thanks 回复 引用
#7楼 219.136.17.* 2004-12-23 00:36 Hawk [未注册用户]
有没有ASP的源程序呢? 回复 引用
#8楼 61.174.166.* 2005-01-13 10:31 五月的海岸线 [未注册用户]
请问我这里经常要报
未将对象引用设置到对象的实例。
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("./r/1.jpg"));
回复 引用
#9楼 221.136.18.* 2005-01-13 17:54 五月的海岸线 [未注册用户]
带索引的图像不能创建Graphics对象 回复 引用
#10楼 219.146.77.* 2005-03-17 15:09 mm [未注册用户]
能不能在适当位置加水印啊,谢谢赐教! 回复 引用
#11楼 [楼主] 2005-03-17 16:43 边城浪子
DrawString()和DrawImage()这两个方法中有确定位置的参数啊 回复 引用 查看
#12楼 219.140.128.* 2005-03-28 17:10 paperman [未注册用户]
怎么可以让加上的水印效果变透明? 回复 引用
#13楼 221.228.106.* 2005-06-15 15:24 小名 [未注册用户]
感谢楼主!透明把水印图片弄透明呗 回复 引用
#14楼 218.193.153.* 2005-06-22 18:09 葛勇 [未注册用户]
用asp.net画出来的图片分辨率比较低,这个问题有办法解决吗? 回复 引用
#15楼 218.193.153.* 2005-06-22 18:10 葛勇 [未注册用户]
用asp.net画出来的图片分辨率比较低,这个问题有办法解决吗?
ge_yong@dhu.edu.cn 回复 引用
#16楼 219.134.114.* 2005-06-25 02:35 neil [未注册用户]
有没人有出去图片水印的代码。
lraosi@163.com 回复 引用
#17楼 219.134.114.* 2005-06-25 02:36 NEIL [未注册用户]
有没人有清洗掉图片水印的代码。
lraosi@163.com
回复 引用
#18楼 218.18.74.* 2005-06-28 11:54 心飘逝 [未注册用户]
file.SaveAs Server.mappath(fileName)
dim photo,logo,photopath,logopath
Set Photo = Server.CreateObject("Persits.Jpeg")
PhotoPath = Server.MapPath(FileName)
Photo.Open PhotoPath
Set Logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("mail.gif")
Logo.Open LogoPath
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage photo.width-140, photo.height-170, Logo,0.8
photo.Save Server.MapPath(FileName)
回复 引用
#19楼 218.18.74.* 2005-06-28 11:54 心飘逝 [未注册用户]
以上是ASP代码方式的。 回复 引用
#20楼 218.13.76.* 2005-08-15 09:50 VICTORLI [未注册用户]
本人是菜鸟。。。
希望学习 回复 引用
#21楼 2005-10-18 17:52 色即是凶--呵呵
用asp.net画出来的图片分辨率比较低,这个问题有办法解决吗? 回复 引用 查看
#22楼 2005-10-31 18:06 .net技術
为什么只能给.jpg格式的图片加水印?
无法从带有索引像素格式的图像创建 Graphics 对象。 回复 引用 查看
#23楼 221.226.194.* 2005-11-16 16:23 guys_alpha [未注册用户]
public string GetId()
{
return GetDateRandom(6);
}
public string GetDateRandom(int int_Count)
{
string strData=DateTime.Now.ToString("yyyyMMddHHmmss");
strData=strData.Replace(":","");
strData=strData.Replace("-","");
strData=strData.Replace(" ","");
strData=strData+GetRandom(int_Count);
return strData;
}
public string GetRandom(int int_Count)
{
string str_RV="1";
for (int i=0;i<int_Count-2;i++)
{
str_RV=str_RV+"0";
}
Random r=new Random();
str_RV=r.Next(int.Parse(str_RV)).ToString();
int int_Count1=int_Count-str_RV.Length;
if (int_Count1>0)
{
for (int i=0;i<int_Count1;i++)
{
str_RV=str_RV+"0";
}
}
return str_RV;
}