早上,一哥儿发来添加图片水印的资料。有三个信息,如下:
几分钟后,我就发现第二个网址的内容是copy第一个的(也许是相反),真是天下文章一大抄。于是我对那条说有什么组件的东东很感兴趣,下下来一看,吐血,就是一段代码,完全copy第一个文章里的,什么组件啊。真是能欺骗人。
算了,自己动手,丰衣十足。想起上个月做相册的开发,用到了Gallery开源项目的东西。那里面有填加水印的,并且功能比较强大,能设定位置。不像上面的资料不能调整水印位置,水印效果估计也不好,毕竟就那几行。其实后来我发现那段代码还是错的,调试通过不了,修改后才能用,至于错在那里在后面介绍。
我们先看看哥儿给我的资料里的代码:
原来的代码:
}
于是我把Gallery里的代码整理了下。如下:
图片上传函数,进行判断是否加水印,做出两种处理方式:
//生成缩略图
this.GreateMiniImage((ImgPath+ "\\"+"old_"+ImgLink),(ImgPath+ "\\"+"mini_"+ImgLink),50,50);
19
//如果显示水印
20
if(ShowWatermark)
21
}
加水印的函数如下:
填加图片函数,需要下面两个函数的支持,当然也可以写到一起,不过那看起来就很冗长了。
{
26
//是图片的话
case "WM_IMAGE":
27
this.addWatermarkImage( g,Page.Server.MapPath(Watermarkimgpath),WatermarkPosition,image.Width,image.Height);
28
break;
29
//如果是文字
case "WM_TEXT":
30
this.addWatermarkText( g, WatermarkText,WatermarkPosition
31
,image.Width,image.Height);
32
break;
33
}
34![[转]c# 添加图片水印,可以指定水印位置+生成缩略图 [转]c# 添加图片水印,可以指定水印位置+生成缩略图](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzWVc1blpYSm5ieTVqYm1Kc2IyZHpMbU52YlM5SmJXRm5aWE12VDNWMGJHbHVhVzVuU1c1a2FXTmhkRzl5Y3k5SmJrSnNiMk5yTG1kcFpnPT0=)
35
b.Save(newpath);
36
b.Dispose();
37
image.Dispose();
38
}
39![[转]c# 添加图片水印,可以指定水印位置+生成缩略图 [转]c# 添加图片水印,可以指定水印位置+生成缩略图](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzWVc1blpYSm5ieTVqYm1Kc2IyZHpMbU52YlM5SmJXRm5aWE12VDNWMGJHbHVhVzVuU1c1a2FXTmhkRzl5Y3k5SmJrSnNiMk5yTG1kcFpnPT0=)
40
}
41
catch
42
}
}
//代码已经修改,可以按比率还填加图片水印,不过如果背景图片和水印图片太不成比率的话(指水印图片要大于背景图片的1/4),出来的效果不是很好。
}
生成缩略图函数
}
如果你能耐着心读到这里,你可以分辨一下,这两个加水印的函数和网上别人的代码有什么不同了。你也可以发现为什么网上的代码不能运行通过了。你只要动下小手,调试下就知道原因了。
最后做得效果很好,附上帅图1,2,3
带图片水印的。
带文字水印
你看看效果不错吧,这些水印都是设为放在右下角的。至于带图片的那张怎么位置不像在右下角,是因为背景图片太小,水印图片太大的原因。我只是随便做了下测试。新的效果图已经放上。
如果你也是像我这样菜鸟的话,可能对你有点用处。大侠就不用看了。我写出来,其实是觉得网上连一些基础的代码都写的不好,还抄来抄去,更严重的是还是错误的。![[转]c# 添加图片水印,可以指定水印位置+生成缩略图 [转]c# 添加图片水印,可以指定水印位置+生成缩略图](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzWVc1blpYSm5ieTVqYm1Kc2IyZHpMbU52YlM5RmJXOTBhV052Ym5NdlVWRXZNVEl1WjJsbQ==)
最新帅图:![[转]c# 添加图片水印,可以指定水印位置+生成缩略图 [转]c# 添加图片水印,可以指定水印位置+生成缩略图](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzWVc1blpYSm5ieTVqYm1Kc2IyZHpMbU52YlM5cGJXRm5aWE12WTI1aWJHOW5jMTlqYjIwdmQyRnVaMlZ5WjI4dk1UWXpNamcwT0RRd01qRXdOVFl5TlRBd01DNUtVRWM9)
缩略图:
由于原图太大上传不上来,只得把对比图发上来。
xx 09:57:35
http://index.cnblogs.com/archive/2004/10/20/54498.aspx
王二狗 09:57:51
好的,我看看
xx 09:58:12
http://www.iyuanma.com/info/18/17026_200592663244.htm
xx 10:07:00
http://www.codefans.com/CodeView/CodeView_12043.html
xx 10:07:18
你看看现成的组件能不能用
http://index.cnblogs.com/archive/2004/10/20/54498.aspx
王二狗 09:57:51
好的,我看看
xx 09:58:12
http://www.iyuanma.com/info/18/17026_200592663244.htm
xx 10:07:00
http://www.codefans.com/CodeView/CodeView_12043.html
xx 10:07:18
你看看现成的组件能不能用
几分钟后,我就发现第二个网址的内容是copy第一个的(也许是相反),真是天下文章一大抄。于是我对那条说有什么组件的东东很感兴趣,下下来一看,吐血,就是一段代码,完全copy第一个文章里的,什么组件啊。真是能欺骗人。
算了,自己动手,丰衣十足。想起上个月做相册的开发,用到了Gallery开源项目的东西。那里面有填加水印的,并且功能比较强大,能设定位置。不像上面的资料不能调整水印位置,水印效果估计也不好,毕竟就那几行。其实后来我发现那段代码还是错的,调试通过不了,修改后才能用,至于错在那里在后面介绍。
我们先看看哥儿给我的资料里的代码:
原来的代码:
于是我把Gallery里的代码整理了下。如下:
图片上传函数,进行判断是否加水印,做出两种处理方式:
this.GreateMiniImage((ImgPath+ "\\"+"old_"+ImgLink),(ImgPath+ "\\"+"mini_"+ImgLink),50,50);
19
20
21
加水印的函数如下:
填加图片函数,需要下面两个函数的支持,当然也可以写到一起,不过那看起来就很冗长了。
26
case "WM_IMAGE":
27
28
29
case "WM_TEXT":
30
31
32
33
34
35
36
37
38
39
40
41
42
生成缩略图函数
如果你能耐着心读到这里,你可以分辨一下,这两个加水印的函数和网上别人的代码有什么不同了。你也可以发现为什么网上的代码不能运行通过了。你只要动下小手,调试下就知道原因了。
最后做得效果很好,附上帅图1,2,3
你看看效果不错吧,这些水印都是设为放在右下角的。
如果你也是像我这样菜鸟的话,可能对你有点用处。大侠就不用看了。我写出来,其实是觉得网上连一些基础的代码都写的不好,还抄来抄去,更严重的是还是错误的。
最新帅图:
缩略图:
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=826045