且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

[转]c# 添加图片水印,可以指定水印位置+生成缩略图

更新时间:2021-10-13 20:18:19

[转]c# 添加图片水印,可以指定水印位置+生成缩略图 c# 添加图片水印,可以指定水印位置+生成缩略图   [转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图  [转]c# 添加图片水印,可以指定水印位置+生成缩略图
  早上,一哥儿发来添加图片水印的资料。有三个信息,如下:
            
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开源项目的东西。那里面有填加水印的,并且功能比较强大,能设定位置。不像上面的资料不能调整水印位置,水印效果估计也不好,毕竟就那几行。其实后来我发现那段代码还是错的,调试通过不了,修改后才能用,至于错在那里在后面介绍
         我们先看看哥儿给我的资料里的代码:
           原来的代码:
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 1[转]c# 添加图片水印,可以指定水印位置+生成缩略图 private void Btn_Upload_Click(object sender, System.EventArgs e)
 2[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 3[转]c# 添加图片水印,可以指定水印位置+生成缩略图            if(UploadFile.PostedFile.FileName.Trim()!="")
 4[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 5[转]c# 添加图片水印,可以指定水印位置+生成缩略图                //上传文件
 6[转]c# 添加图片水印,可以指定水印位置+生成缩略图                string extension = Path.GetExtension(UploadFile.PostedFile.FileName).ToUpper();
 7[转]c# 添加图片水印,可以指定水印位置+生成缩略图                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();
 8[转]c# 添加图片水印,可以指定水印位置+生成缩略图                string path = Server.MapPath("."+ "/UploadFile/" + fileName + extension;
 9[转]c# 添加图片水印,可以指定水印位置+生成缩略图                UploadFile.PostedFile.SaveAs(path);
10[转]c# 添加图片水印,可以指定水印位置+生成缩略图
11[转]c# 添加图片水印,可以指定水印位置+生成缩略图                //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
12[转]c# 添加图片水印,可以指定水印位置+生成缩略图                System.Drawing.Image image = System.Drawing.Image.FromFile(path);
13[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Graphics g = Graphics.FromImage(image);
14[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.DrawImage(image, 00, image.Width, image.Height);
15[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Font f = new Font("Verdana"32);
16[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Brush b = new SolidBrush(Color.White);
17[转]c# 添加图片水印,可以指定水印位置+生成缩略图                string addText = AddText.Value.Trim();
18[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.DrawString(addText, f, b, 1010);
19[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.Dispose();
20[转]c# 添加图片水印,可以指定水印位置+生成缩略图
21[转]c# 添加图片水印,可以指定水印位置+生成缩略图                //加图片水印
22[转]c# 添加图片水印,可以指定水印位置+生成缩略图                System.Drawing.Image image = System.Drawing.Image.FromFile(path);
23[转]c# 添加图片水印,可以指定水印位置+生成缩略图                System.Drawing.Image copyImage = System.Drawing.Image.FromFile( Server.MapPath("."+ "/Alex.gif");
24[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Graphics g = Graphics.FromImage(image);
25[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.DrawImage(copyImage, new Rectangle(image.Width-copyImage.Width, image.Height-copyImage.Height, copyImage.Width, copyImage.Height), 00, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);
26[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.Dispose();
27[转]c# 添加图片水印,可以指定水印位置+生成缩略图
28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                //保存加水印过后的图片,删除原始图片
29[转]c# 添加图片水印,可以指定水印位置+生成缩略图                string newPath = Server.MapPath("."+ "/UploadFile/" + fileName + "_new" + extension;
30[转]c# 添加图片水印,可以指定水印位置+生成缩略图                image.Save(newPath);
31[转]c# 添加图片水印,可以指定水印位置+生成缩略图                image.Dispose();
32[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if(File.Exists(path))
33[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
34[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    File.Delete(path);
35[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

36[转]c# 添加图片水印,可以指定水印位置+生成缩略图
37[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Response.Redirect(newPath);
38[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

39[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }

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

          图片上传函数,进行判断是否加水印,做出两种处理方式:
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 1[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图    /**//// <summary>
 2[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// 上传图片代码
 3[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// </summary>
 4[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="image_file">HtmlInputFile控件</param>
 5[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="ImgPath">存放的文件夹绝对位置</param>
 6[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="ImgLink">生成的图片的名称带后缀</param>
 7[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <returns></returns>

 8[转]c# 添加图片水印,可以指定水印位置+生成缩略图        public bool UpPic(System.Web.UI.HtmlControls.HtmlInputFile image_file,string ImgPath,string ImgLink )
 9[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
10[转]c# 添加图片水印,可以指定水印位置+生成缩略图            if(image_file.PostedFile.FileName!=null && image_file.PostedFile.FileName.Trim()!="")
11[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
12[转]c# 添加图片水印,可以指定水印位置+生成缩略图                try
13[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
14[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    if!System.IO.Directory.Exists(ImgPath))
15[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
16[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        System.IO.Directory.CreateDirectory( ImgPath);
17[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

18[转]c# 添加图片水印,可以指定水印位置+生成缩略图                     //生成缩略图
                            this.GreateMiniImage((ImgPath+ "\\"+"old_"+ImgLink),(ImgPath+ "\\"+"mini_"+ImgLink),50,50);
19[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    //如果显示水印
20[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    if(ShowWatermark)
21[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
22[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        image_file.PostedFile.SaveAs(ImgPath+ "\\" +"old_"+ImgLink);
23[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        //加水印
24[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        this.addWaterMark((ImgPath+ "\\"+"old_"+ImgLink),(ImgPath+ "\\"+ImgLink));
25[转]c# 添加图片水印,可以指定水印位置+生成缩略图
26[转]c# 添加图片水印,可以指定水印位置+生成缩略图
27[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

29[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    else
30[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
31[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        image_file.PostedFile.SaveAs(ImgPath+ "\\" +ImgLink);
32[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
33[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
34[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

35[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    return true;
36[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

37[转]c# 添加图片水印,可以指定水印位置+生成缩略图
38[转]c# 添加图片水印,可以指定水印位置+生成缩略图                catch
39[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
40[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    return false;
41[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

42[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

43[转]c# 添加图片水印,可以指定水印位置+生成缩略图            else
44[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
45[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
46[转]c# 添加图片水印,可以指定水印位置+生成缩略图                return false;
47[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

48[转]c# 添加图片水印,可以指定水印位置+生成缩略图
49[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }

   加水印的函数如下:
   填加图片函数,需要下面两个函数的支持,当然也可以写到一起,不过那看起来就很冗长了。
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图添加图片水印
 1[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图    /**//// <summary>
 2[转]c# 添加图片水印,可以指定水印位置+生成缩略图            /// 添加图片水印
 3[转]c# 添加图片水印,可以指定水印位置+生成缩略图            /// </summary>
 4[转]c# 添加图片水印,可以指定水印位置+生成缩略图            /// <param name="oldpath">原图片绝对地址</param>
 5[转]c# 添加图片水印,可以指定水印位置+生成缩略图            /// <param name="newpath">新图片放置的绝对地址</param>

 6[转]c# 添加图片水印,可以指定水印位置+生成缩略图        private void addWaterMark(string oldpath,string newpath)
 7[转]c# 添加图片水印,可以指定水印位置+生成缩略图        
 8[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 9[转]c# 添加图片水印,可以指定水印位置+生成缩略图            try
10[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
11[转]c# 添加图片水印,可以指定水印位置+生成缩略图
12[转]c# 添加图片水印,可以指定水印位置+生成缩略图                System.Drawing.Image image = System.Drawing.Image.FromFile(oldpath);
13[转]c# 添加图片水印,可以指定水印位置+生成缩略图
14[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Bitmap b = new Bitmap(image.Width, image.Height,PixelFormat.Format24bppRgb);
15[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Graphics g = Graphics.FromImage(b);
16[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.Clear(Color.White);
17[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.SmoothingMode = SmoothingMode.HighQuality;
18[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.InterpolationMode = InterpolationMode.High;
19[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
20[转]c# 添加图片水印,可以指定水印位置+生成缩略图                g.DrawImage(image, 00, image.Width, image.Height);
21[转]c# 添加图片水印,可以指定水印位置+生成缩略图
22[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if(如果需要填加水印)
23[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
24[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    switch(水印类型)
25[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
26[转]c# 添加图片水印,可以指定水印位置+生成缩略图    //是图片的话               
                                   case "WM_IMAGE":
27[转]c# 添加图片水印,可以指定水印位置+生成缩略图                            this.addWatermarkImage( g,Page.Server.MapPath(Watermarkimgpath),WatermarkPosition,image.Width,image.Height);
28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                            break;
29[转]c# 添加图片水印,可以指定水印位置+生成缩略图    //如果是文字                    
                                   case "WM_TEXT":
30[转]c# 添加图片水印,可以指定水印位置+生成缩略图                            this.addWatermarkText( g, WatermarkText,WatermarkPosition
31[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                ,image.Width,image.Height);
32[转]c# 添加图片水印,可以指定水印位置+生成缩略图                            break;
33[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }
34[转]c# 添加图片水印,可以指定水印位置+生成缩略图
35[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    b.Save(newpath);
36[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    b.Dispose();
37[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    image.Dispose();
38[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

39[转]c# 添加图片水印,可以指定水印位置+生成缩略图
40[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

41[转]c# 添加图片水印,可以指定水印位置+生成缩略图            catch
42[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
43[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
44[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if(File.Exists(oldpath))
45[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
46[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    File.Delete(oldpath);
47[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

48[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

49[转]c# 添加图片水印,可以指定水印位置+生成缩略图            finally
50[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
51[转]c# 添加图片水印,可以指定水印位置+生成缩略图                
52[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if(File.Exists(oldpath))
53[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
54[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    File.Delete(oldpath);
55[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

56[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
57[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
58[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

59[转]c# 添加图片水印,可以指定水印位置+生成缩略图        
60[转]c# 添加图片水印,可以指定水印位置+生成缩略图        
61[转]c# 添加图片水印,可以指定水印位置+生成缩略图
62[转]c# 添加图片水印,可以指定水印位置+生成缩略图
63[转]c# 添加图片水印,可以指定水印位置+生成缩略图
64[转]c# 添加图片水印,可以指定水印位置+生成缩略图        
65[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }

  
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图加水印文字
 1[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图/**//// <summary>
 2[转]c# 添加图片水印,可以指定水印位置+生成缩略图        ///  加水印文字
 3[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// </summary>
 4[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="picture">imge 对象</param>
 5[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_watermarkText">水印文字内容</param>
 6[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_watermarkPosition">水印位置</param>
 7[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_width">被加水印图片的宽</param>
 8[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_height">被加水印图片的高</param>

 9[转]c# 添加图片水印,可以指定水印位置+生成缩略图        private void addWatermarkText( Graphics picture,string _watermarkText,string _watermarkPosition,int _width,int _height)
10[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
11[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            int[] sizes = new int[][转]c# 添加图片水印,可以指定水印位置+生成缩略图{16,14,12,10,8,6,4};
12[转]c# 添加图片水印,可以指定水印位置+生成缩略图            Font crFont = null;
13[转]c# 添加图片水印,可以指定水印位置+生成缩略图            SizeF crSize = new    SizeF();
14[转]c# 添加图片水印,可以指定水印位置+生成缩略图            for (int i=0 ;i<7; i++)
15[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
16[转]c# 添加图片水印,可以指定水印位置+生成缩略图                crFont = new Font("arial", sizes[i], FontStyle.Bold);
17[转]c# 添加图片水印,可以指定水印位置+生成缩略图                crSize = picture.MeasureString(_watermarkText, crFont);
18[转]c# 添加图片水印,可以指定水印位置+生成缩略图
19[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if((ushort)crSize.Width < (ushort)_width)
20[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
21[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

22[转]c# 添加图片水印,可以指定水印位置+生成缩略图
23[转]c# 添加图片水印,可以指定水印位置+生成缩略图            float xpos = 0;
24[转]c# 添加图片水印,可以指定水印位置+生成缩略图            float ypos = 0;
25[转]c# 添加图片水印,可以指定水印位置+生成缩略图
26[转]c# 添加图片水印,可以指定水印位置+生成缩略图            switch(_watermarkPosition)
27[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_TOP_LEFT":
29[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = ((float)_width * (float).01+ (crSize.Width / 2);
30[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = (float)_height * (float).01;
31[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
32[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_TOP_RIGHT":
33[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = ((float)_width * (float).99- (crSize.Width / 2);
34[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = (float)_height * (float).01;
35[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
36[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_BOTTOM_RIGHT":
37[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = ((float)_width * (float).99- (crSize.Width / 2);
38[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = ((float)_height * (float).99- crSize.Height;
39[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
40[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_BOTTOM_LEFT":
41[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = ((float)_width * (float).01+ (crSize.Width / 2);
42[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = ((float)_height * (float).99- crSize.Height;
43[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
44[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

45[转]c# 添加图片水印,可以指定水印位置+生成缩略图
46[转]c# 添加图片水印,可以指定水印位置+生成缩略图            StringFormat StrFormat = new StringFormat();
47[转]c# 添加图片水印,可以指定水印位置+生成缩略图            StrFormat.Alignment = StringAlignment.Center;
48[转]c# 添加图片水印,可以指定水印位置+生成缩略图
49[转]c# 添加图片水印,可以指定水印位置+生成缩略图            SolidBrush semiTransBrush2 = new SolidBrush(Color.FromArgb(15300,0));
50[转]c# 添加图片水印,可以指定水印位置+生成缩略图            picture.DrawString(_watermarkText, crFont, semiTransBrush2, xpos+1, ypos+1, StrFormat);
51[转]c# 添加图片水印,可以指定水印位置+生成缩略图
52[转]c# 添加图片水印,可以指定水印位置+生成缩略图            SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(153255255255));
53[转]c# 添加图片水印,可以指定水印位置+生成缩略图            picture.DrawString(_watermarkText, crFont, semiTransBrush, xpos, ypos, StrFormat);
54[转]c# 添加图片水印,可以指定水印位置+生成缩略图
55[转]c# 添加图片水印,可以指定水印位置+生成缩略图
56[转]c# 添加图片水印,可以指定水印位置+生成缩略图            semiTransBrush2.Dispose();
57[转]c# 添加图片水印,可以指定水印位置+生成缩略图            semiTransBrush.Dispose();
58[转]c# 添加图片水印,可以指定水印位置+生成缩略图
59[转]c# 添加图片水印,可以指定水印位置+生成缩略图
60[转]c# 添加图片水印,可以指定水印位置+生成缩略图
61[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }
//代码已经修改,可以按比率还填加图片水印,不过如果背景图片和水印图片太不成比率的话(指水印图片要大于背景图片的1/4),出来的效果不是很好。
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图水印图片
  1[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图  /**//// <summary>
  2[转]c# 添加图片水印,可以指定水印位置+生成缩略图        ///  加水印图片
  3[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// </summary>
  4[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="picture">imge 对象</param>
  5[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="WaterMarkPicPath">水印图片的地址</param>
  6[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_watermarkPosition">水印位置</param>
  7[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_width">被加水印图片的宽</param>
  8[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="_height">被加水印图片的高</param>

  9[转]c# 添加图片水印,可以指定水印位置+生成缩略图        private void addWatermarkImage( Graphics picture,string WaterMarkPicPath,string _watermarkPosition,int _width,int _height)
 10[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 11[转]c# 添加图片水印,可以指定水印位置+生成缩略图            Image watermark = new Bitmap(WaterMarkPicPath);
 12[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 13[转]c# 添加图片水印,可以指定水印位置+生成缩略图            ImageAttributes imageAttributes = new ImageAttributes();
 14[转]c# 添加图片水印,可以指定水印位置+生成缩略图            ColorMap colorMap = new ColorMap();
 15[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 16[转]c# 添加图片水印,可以指定水印位置+生成缩略图            colorMap.OldColor = Color.FromArgb(25502550);
 17[转]c# 添加图片水印,可以指定水印位置+生成缩略图            colorMap.NewColor = Color.FromArgb(0000);
 18[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            ColorMap[] remapTable = [转]c# 添加图片水印,可以指定水印位置+生成缩略图{colorMap};
 19[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 20[转]c# 添加图片水印,可以指定水印位置+生成缩略图            imageAttributes.SetRemapTable(remapTable, ColorAdjustType.Bitmap);
 21[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 22[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            float[][] colorMatrixElements = [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 23[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                                new float[] [转]c# 添加图片水印,可以指定水印位置+生成缩略图{1.0f,  0.0f,  0.0f,  0.0f0.0f},
 24[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                                new float[] [转]c# 添加图片水印,可以指定水印位置+生成缩略图{0.0f,  1.0f,  0.0f,  0.0f0.0f},
 25[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                                new float[] [转]c# 添加图片水印,可以指定水印位置+生成缩略图{0.0f,  0.0f,  1.0f,  0.0f0.0f},
 26[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                                new float[] [转]c# 添加图片水印,可以指定水印位置+生成缩略图{0.0f,  0.0f,  0.0f,  0.3f0.0f},
 27[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                                new float[] [转]c# 添加图片水印,可以指定水印位置+生成缩略图{0.0f,  0.0f,  0.0f,  0.0f1.0f}
 28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                                            }
;
 29[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 30[转]c# 添加图片水印,可以指定水印位置+生成缩略图            ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);
 31[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 32[转]c# 添加图片水印,可以指定水印位置+生成缩略图            imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
 33[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 34[转]c# 添加图片水印,可以指定水印位置+生成缩略图            int xpos = 0;
 35[转]c# 添加图片水印,可以指定水印位置+生成缩略图            int ypos = 0;
 36[转]c# 添加图片水印,可以指定水印位置+生成缩略图            int WatermarkWidth=0;
 37[转]c# 添加图片水印,可以指定水印位置+生成缩略图            int WatermarkHeight=0;
 38[转]c# 添加图片水印,可以指定水印位置+生成缩略图            double bl=1d;
 39[转]c# 添加图片水印,可以指定水印位置+生成缩略图            //计算水印图片的比率
 40[转]c# 添加图片水印,可以指定水印位置+生成缩略图            //取背景的1/4宽度来比较
 41[转]c# 添加图片水印,可以指定水印位置+生成缩略图            if((_width>watermark.Width*4)&&(_height>watermark.Height*4))
 42[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 43[转]c# 添加图片水印,可以指定水印位置+生成缩略图                bl=1;
 44[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

 45[转]c# 添加图片水印,可以指定水印位置+生成缩略图            else if((_width>watermark.Width*4)&&(_height<watermark.Height*4))
 46[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 47[转]c# 添加图片水印,可以指定水印位置+生成缩略图                bl=Convert.ToDouble(_height/4)/Convert.ToDouble(watermark.Height);
 48[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
 49[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }
else
 50[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
 51[转]c# 添加图片水印,可以指定水印位置+生成缩略图            if((_width<watermark.Width*4)&&(_height>watermark.Height*4))
 52[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 53[转]c# 添加图片水印,可以指定水印位置+生成缩略图                bl=Convert.ToDouble(_width/4)/Convert.ToDouble(watermark.Width);
 54[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

 55[转]c# 添加图片水印,可以指定水印位置+生成缩略图            else
 56[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 57[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if((_width*watermark.Height)>(_height*watermark.Width))
 58[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 59[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    bl=Convert.ToDouble(_height/4)/Convert.ToDouble(watermark.Height);
 60[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
 61[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

 62[转]c# 添加图片水印,可以指定水印位置+生成缩略图                else
 63[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 64[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    bl=Convert.ToDouble(_width/4)/Convert.ToDouble(watermark.Width);
 65[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
 66[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

 67[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
 68[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

 69[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 70[转]c# 添加图片水印,可以指定水印位置+生成缩略图            WatermarkWidth=Convert.ToInt32(watermark.Width*bl);
 71[转]c# 添加图片水印,可以指定水印位置+生成缩略图            WatermarkHeight=Convert.ToInt32(watermark.Height*bl);
 72[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 73[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
 74[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 75[转]c# 添加图片水印,可以指定水印位置+生成缩略图            switch(_watermarkPosition)
 76[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
 77[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_TOP_LEFT":
 78[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = 10;
 79[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = 10;
 80[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
 81[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_TOP_RIGHT":
 82[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = _width - WatermarkWidth - 10;
 83[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = 10;
 84[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
 85[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_BOTTOM_RIGHT":
 86[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = _width - WatermarkWidth - 10;
 87[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = _height -WatermarkHeight - 10;
 88[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
 89[转]c# 添加图片水印,可以指定水印位置+生成缩略图                case "WM_BOTTOM_LEFT":
 90[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    xpos = 10;
 91[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    ypos = _height - WatermarkHeight - 10;
 92[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    break;
 93[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

 94[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 95[转]c# 添加图片水印,可以指定水印位置+生成缩略图            picture.DrawImage(watermark, new Rectangle(xpos, ypos, WatermarkWidth, WatermarkHeight), 00, watermark.Width, watermark.Height, GraphicsUnit.Pixel, imageAttributes);
 96[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 97[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 98[转]c# 添加图片水印,可以指定水印位置+生成缩略图            watermark.Dispose();
 99[转]c# 添加图片水印,可以指定水印位置+生成缩略图            imageAttributes.Dispose();
100[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }

   生成缩略图函数
[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图生成缩略图
 1[转]c# 添加图片水印,可以指定水印位置+生成缩略图
 2[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /**//// <summary>
 3[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// 生成缩略图
 4[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// </summary>
 5[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="oldpath">原图片地址</param>
 6[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="newpath">新图片地址</param>
 7[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="tWidth">缩略图的宽</param>
 8[转]c# 添加图片水印,可以指定水印位置+生成缩略图        /// <param name="tHeight">缩略图的高</param>

 9[转]c# 添加图片水印,可以指定水印位置+生成缩略图        private void  GreateMiniImage(string oldpath,string newpath,int tWidth, int tHeight)
10[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图        [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
11[转]c# 添加图片水印,可以指定水印位置+生成缩略图        
12[转]c# 添加图片水印,可以指定水印位置+生成缩略图            try
13[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
14[转]c# 添加图片水印,可以指定水印位置+生成缩略图
15[转]c# 添加图片水印,可以指定水印位置+生成缩略图                System.Drawing.Image image = System.Drawing.Image.FromFile(oldpath);
16[转]c# 添加图片水印,可以指定水印位置+生成缩略图                double bl=1d;
17[转]c# 添加图片水印,可以指定水印位置+生成缩略图                if((image.Width<=image.Height)&&(tWidth>=tHeight))
18[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
19[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);
20[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

21[转]c# 添加图片水印,可以指定水印位置+生成缩略图                else if((image.Width>image.Height)&&(tWidth<tHeight))
22[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
23[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);
24[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
25[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

26[转]c# 添加图片水印,可以指定水印位置+生成缩略图                else
27[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
28[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    if((image.Width<=image.Height)&&(tWidth<=tHeight))
29[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
30[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    if(image.Height/tHeight>=image.Width/tWidth)
31[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
32[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);
33[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
34[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

35[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    else
36[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
37[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);
38[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

39[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

40[转]c# 添加图片水印,可以指定水印位置+生成缩略图                else
41[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
42[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    if(image.Height/tHeight>=image.Width/tWidth)
43[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
44[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);
45[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
46[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

47[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    else
48[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
49[转]c# 添加图片水印,可以指定水印位置+生成缩略图                        bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);
50[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    
51[转]c# 添加图片水印,可以指定水印位置+生成缩略图                    }

52[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
53[转]c# 添加图片水印,可以指定水印位置+生成缩略图                }

54[转]c# 添加图片水印,可以指定水印位置+生成缩略图
55[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
56[转]c# 添加图片水印,可以指定水印位置+生成缩略图                Bitmap b = new Bitmap(image ,Convert.ToInt32(image.Width/bl), Convert.ToInt32(image.Height/bl));
57[转]c# 添加图片水印,可以指定水印位置+生成缩略图
58[转]c# 添加图片水印,可以指定水印位置+生成缩略图                b.Save(newpath);
59[转]c# 添加图片水印,可以指定水印位置+生成缩略图                b.Dispose();
60[转]c# 添加图片水印,可以指定水印位置+生成缩略图                image.Dispose();
61[转]c# 添加图片水印,可以指定水印位置+生成缩略图                
62[转]c# 添加图片水印,可以指定水印位置+生成缩略图
63[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

64[转]c# 添加图片水印,可以指定水印位置+生成缩略图            catch
65[转]c# 添加图片水印,可以指定水印位置+生成缩略图[转]c# 添加图片水印,可以指定水印位置+生成缩略图            [转]c# 添加图片水印,可以指定水印位置+生成缩略图{
66[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
67[转]c# 添加图片水印,可以指定水印位置+生成缩略图                
68[转]c# 添加图片水印,可以指定水印位置+生成缩略图            }

69[转]c# 添加图片水印,可以指定水印位置+生成缩略图            
70[转]c# 添加图片水印,可以指定水印位置+生成缩略图        }

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

     最后做得效果很好,附上帅图1,2,3
  [转]c# 添加图片水印,可以指定水印位置+生成缩略图带图片水印的。[转]c# 添加图片水印,可以指定水印位置+生成缩略图带文字水印

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



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=826045