c# 添加图片水印,可以指定水印位置+生成缩略图[付上帅图1,2,3,4]


           早上,一哥儿发来添加图片水印的资料。有三个信息,如下:
            
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
你看看现成的组件能不能用 
         
         几分钟后,我就发现第二个网址的内容是copy第一个的(也许是相反),真是天下文章一大抄。于是我对那条说有什么组件的东东很感兴趣,下下来一看,吐血,就是一段代码,完全copy第一个文章里的,什么组件啊。真是能欺骗人。
         算了,自己动手,丰衣十足。想起上个月做相册的开发,用到了Gallery开源项目的东西。那里面有填加水印的,并且功能比较强大,能设定位置。不像上面的资料不能调整水印位置,水印效果估计也不好,毕竟就那几行。其实后来我发现那段代码还是错的,调试通过不了,修改后才能用,至于错在那里在后面介绍
         我们先看看哥儿给我的资料里的代码:
           原来的代码:

         于是我把Gallery里的代码整理了下。如下:

          图片上传函数,进行判断是否加水印,做出两种处理方式:

   加水印的函数如下:
   填加图片函数,需要下面两个函数的支持,当然也可以写到一起,不过那看起来就很冗长了。
添加图片水印

  
加水印文字
//代码已经修改,可以按比率还填加图片水印,不过如果背景图片和水印图片太不成比率的话(指水印图片要大于背景图片的1/4),出来的效果不是很好。
水印图片

   生成缩略图函数
生成缩略图

     如果你能耐着心读到这里,你可以分辨一下,这两个加水印的函数和网上别人的代码有什么不同了。你也可以发现为什么网上的代码不能运行通过了。你只要动下小手,调试下就知道原因了。

     最后做得效果很好,附上帅图1,2,3
  带图片水印的。带文字水印

   你看看效果不错吧,这些水印都是设为放在右下角的。至于带图片的那张怎么位置不像在右下角,是因为背景图片太小,水印图片太大的原因。我只是随便做了下测试。新的效果图已经放上。
      如果你也是像我这样菜鸟的话,可能对你有点用处。大侠就不用看了。我写出来,其实是觉得网上连一些基础的代码都写的不好,还抄来抄去,更严重的是还是错误的。
     最新帅图:
     缩略图:
    由于原图太大上传不上来,只得把对比图发上来。

   版权所有:wangergo.cnblogs.com ,王传炜,2005-5-31
   本文版权属于www.80back.com,williams所有,首发www.cnblogs.com,转载请注明出处。
posted @ 2006-05-31 19:43 王传炜 阅读(3593) 评论(14)  编辑 收藏 网摘

  回复  引用  查看    
#1楼2006-06-01 08:41 | 小朱      
不错了,先看看!!!
  回复  引用    
#2楼2006-06-01 08:54 | lankey[未注册用户]
嘿嘿,参考
  回复  引用  查看    
#3楼2006-06-01 10:49 | Leonic      
水印图大小可以调整一下嘛,和背景图大小成一定比例。
效果还不错,赞一个。

  回复  引用  查看    
#4楼2006-06-01 12:58 | jhtchina      
Mark

  回复  引用  查看    
#5楼[楼主]2006-06-01 13:07 | 王传炜      
@Leonic

你说得对,要修改下生成图片水印的代码,取一定的比率就行了,这个我当时没想那么多,有时间我再修改下代码。

  回复  引用  查看    
#6楼[楼主]2006-06-02 10:26 | 王传炜      
@Leonic
我已经按照你的建议修改了代码,新的效果图我已经放上,我还比较满意。

  回复  引用  查看    
#7楼2006-06-05 16:27 | zkxp      
哥们,再来个生成缩略图的。
  回复  引用  查看    
#8楼[楼主]2006-06-06 13:11 | 王传炜      
缩略图已做,奉送给大家,我发现网上缩略图处理的资料也是有问题的,在取比率的时候考虑得不清楚,相当然得认为新图就是取得正方型。
  回复  引用    
#9楼2007-03-26 16:52 | william[未注册用户]
感谢楼主的代码,正是我需要的。

不过有个bug,缩略图函数里

当原图小于目标图,并且width>height。
目标图为width=height的时候,生成的图象错误

  回复  引用    
#10楼2007-04-29 21:51 | 地[未注册用户]
你好!
如果是在执行批量操作时(如批量把一个文件夹的5000个图片转为缩略图),反复调用该函数
Image originalImage = Image.FromFile(originalImagePath);
这句就是错就会显示内存不足
用Dispose()也不行呢?
--------

  回复  引用    
#11楼2007-09-26 12:54 | zykey[未注册用户]
为什么删除原图的操作不能进行呢 ,原图还村在!
  回复  引用  查看    
#12楼[楼主]2007-09-27 14:54 | 王传炜      
@zykey
拿要检查下原图的地址正确不,以及是否有删除文件的权限。

  回复  引用    
#13楼2007-10-10 11:30 | r[未注册用户]
你就不会做个demo下来吗????????
  回复  引用  查看    
#14楼[楼主]2007-10-12 00:47 | 王传炜      
@r
DEMO过段时间放上吧,写这些代码快有1年多了,在几个项目里用到了。等整理后再发上来。




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 414239




相关文章:

相关链接: