问题描述
asp.net生成静态页面怎么给静态页面的图片动态加水印
解决方案
解决方案二:
通常你会有几个地方可以控制图片的加入动作比如上传图片那么加水印可以在这个时候进行对已有的图片可以进行批量处理加水印的方法ImagewaterMask=Image.FromFile("水印图片地址");Imageimg=Image.FromFile("需要加水印的图片地址");Graphicsg=Graphics.FromImage(img);g.DrawImage(waterMask,Point.Empty);//控制水印的位置,大小,等等g.Flush();g.Dispose();img.Save("输出路径");img.Dispose();
解决方案三:
给图片加水印,不用管它页面是什么静态动态的。如果你纠结在一起,就说明你根本没把精力放在正对地方。
解决方案四:
引用2楼sp1234的回复:
给图片加水印,不用管它页面是什么静态动态的。如果你纠结在一起,就说明你根本没把精力放在正对地方。
发现你回复的好多问题都是质问根本没有解决别人的实际问题
解决方案五:
能用css滤镜控制吗
解决方案六:
引用4楼wylwyl1108的回复:
能用css滤镜控制吗
必须可以,不过,那更像是个骗局,呵呵。技术手段有很多,不过,掌握技术本质,才是初学者应该抓住的命脉。光会一些花拳绣腿,不了解本质,迟早会栽跟头的。有了本质,你可以更花,更绣……
解决方案七:
引用3楼u013803564的回复:
Quote: 引用2楼sp1234的回复:
给图片加水印,不用管它页面是什么静态动态的。如果你纠结在一起,就说明你根本没把精力放在正对地方。发现你回复的好多问题都是质问根本没有解决别人的实际问题
你真的发现了?!看来,你泡论坛的时间太多了……
解决方案八:
你直接给图片加水印就可以了,和动态不动态没关系的,你的图片都是调用固定的图片的
解决方案九:
sp说的话难听,但是有他的道理,也说明你没看明白。
解决方案十:
引用8楼net_xiaojian的回复:
sp说的话难听,但是有他的道理,也说明你没看明白。
解决方案十一:
没弄过,感觉用css滤镜应该可以吧
解决方案十二:
学习学习,,,,
解决方案十三:
引用5楼mikecheers的回复:
Quote: 引用4楼wylwyl1108的回复:
能用css滤镜控制吗必须可以,不过,那更像是个骗局,呵呵。技术手段有很多,不过,掌握技术本质,才是初学者应该抓住的命脉。光会一些花拳绣腿,不了解本质,迟早会栽跟头的。有了本质,你可以更花,更绣……
说得好
解决方案十四:
解决方案十五:
图片上只要有水印,就能有水印了
解决方案:
ihttphandler参考http://zhoufoxcn.blog.51cto.com/792419/167039/我也正在学习
解决方案:
用这个:添加水印、动态设置图片大小、剪切、反转等等无所不能
解决方案:
引用6楼mikecheers的回复:
Quote: 引用3楼u013803564的回复:
Quote: 引用2楼sp1234的回复:
给图片加水印,不用管它页面是什么静态动态的。如果你纠结在一起,就说明你根本没把精力放在正对地方。发现你回复的好多问题都是质问根本没有解决别人的实际问题
你真的发现了?!看来,你泡论坛的时间太多了……
习惯就好,从08年刚开始泡CSDN,到后来好多年没来,今天发现这家伙还是在这儿打酱油。从来不正面帮别人解决问题,总是各种喷!
解决方案:
///<summary>///为图片添加水印///</summary>publicvoidPaintWaterMark(){if(string.IsNullOrEmpty(ImageToBePainted))return;if(!System.IO.File.Exists(ImageToBePainted))thrownewFileNotFoundException(string.Format("file{0}notfound.",ImageToBePainted));boolsucceed;if(m_RawImage==null)m_RawImage=Image.FromFile(ImageToBePainted);///原始的图片using(BitmapnewImage=newBitmap(m_RawImage.Width,m_RawImage.Height)){///建立制作图片的图面using(Graphicsg=Graphics.FromImage(newImage)){g.DrawImage(m_RawImage,0,0,m_RawImage.Width,m_RawImage.Height);///开始制作水印succeed=AddWatermark(g,newImage);}if(succeed)///将图片保存到临时的文件newImage.Save(TempImagePath);if(m_RawImage!=null)m_RawImage.Dispose();}if(succeed&&ReplaceRawImage){//删除原来的文件if(System.IO.File.Exists(ImageToBePainted))System.IO.File.Delete(ImageToBePainted);FileInfoinfo=newFileInfo(TempImagePath);if(info.Exists){info.MoveTo(ImageToBePainted);}}}
解决方案:
给图片加水印和什么动态静态页面没什么关系你要动态操作的是图片不是页面找到图片的路径打上水印再存回去就可以了
解决方案:
很少用这个,只知道个大概思路,代码上面已经有大神贴出来了,读到画板里,再往画板上画水印就好了
解决方案:
很少用这个,只知道个大概思路,代码上面已经有大神贴出来了,读到画板里,再往画板上画水印就好了
解决方案:
我请求一个网页,上面有图片,为什么图片能出来,说的直白点,你向服务器发请求了,那你就在向服务器发请求的时候,在服务里处理图片,打上水印,然后再返回给浏览器端。
解决方案:
引用16楼webdiyer的回复:
用这个:添加水印、动态设置图片大小、剪切、反转等等无所不能
感觉这个好屌啊、又一个现成的控件。
解决方案:
给网页图片添加水印//设置水印图片//<paramname="path">要设置水印图片的路径</param>publicvoidWaterMark(stringpath){//获取要水印的图片Bitmapbmp=newBitmap(HttpContext.Current.Server.MapPath(".")+"/Alex.gif");//codego.net/tags/11/1///设置水印图片的透明度ImageAttributesimageAttr=newImageAttributes();imageAttr.SetColorKey(bmp.GetPixel(20,20),bmp.GetPixel(20,20));//获取要设置水印图片的扩展名stringextension=Path.GetExtension(path).ToUpper();//设置临时图片名称stringfileName=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString();//初始化要加水印的图片System.Drawing.Imageimage=System.Drawing.Image.FromFile(path);//初始化水印图片System.Drawing.ImagecopyImage=System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(".")+"/Alex.gif");//创建绘图区域Graphicsg=Graphics.FromImage(image);//将水印图片,合成到指定图片上g.DrawImage(copyImage,newRectangle(image.Width-copyImage.Width,image.Height-copyImage.Height,copyImage.Width,copyImage.Height),0,0,copyImage.Width,copyImage.Height,GraphicsUnit.Pixel,imageAttr);g.Dispose();//保存加水印过后的图片,删除原始图片stringnewPath=HttpContext.Current.Server.MapPath(".")+"/"+fileName+"_new"+extension;//保存设置完成后的水印图片到临时位置image.Save(newPath);image.Dispose();//File.Copy(newPath,path,true);//删除水印if(File.Exists(newPath)){//删除临时存储的图片File.Delete(newPath);}}