隨筆-3  評論-26  文章-41  trackbacks-0

          public void MakeSmallImg(string FromImg,string SaveImg,System.Double Width,System.Double Height) {
           /*
           System.Drawing.Image Image=System.Drawing.Image.FromFile(FromImg);
           */
           //原始圖片名稱
           string originalFilename =FromImg;
           //生成的高質量圖片名稱
           string strGoodFile =SaveImg;

           //從文件取得圖片對象
           System.Drawing.Image image = System.Drawing.Image.FromFile(originalFilename);
           System.Double NewWidth,NewHeight;
           if(image.Width>image.Height) {
            NewWidth=Width;
            NewHeight=image.Height*(NewWidth/image.Width);
           } else {
            NewHeight=Height;
            NewWidth=(NewHeight/image.Height)*image.Width;
           }

           if (NewWidth>Width) {
            NewWidth=Width;
           }
           if (NewHeight>Height) {
            NewHeight=Height;
           }

           //取得圖片大小
           System.Drawing.Size size = new Size(int.Parse(ClDot(NewWidth.ToString())),int.Parse(ClDot(NewHeight.ToString())));
           //新建一個bmp圖片
           System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width,size.Height);
           //新建一個畫板
           System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
           //設置高質量插值法
           g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
           //設置高質量,低速度呈現平滑程度
           g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
           //清空一下畫布
           g.Clear(Color.Blue);
           //在指定位置畫圖
           g.DrawImage(image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
           new System.Drawing.Rectangle(0, 0, image.Width,image.Height),
           System.Drawing.GraphicsUnit.Pixel);

           ///文字水印
           System.Drawing.Graphics G=System.Drawing.Graphics.FromImage(bitmap);
           System.Drawing.Font f=new Font("宋體",10);
           System.Drawing.Brush b=new SolidBrush(Color.Black);
           G.DrawString(MarkText,f,b,10,10);
           G.Dispose();

           ///圖片水印
           System.Drawing.Image copyImage = System.Drawing.Image.FromFile(System.Web.HttpContext.Current.Server.MapPath(MarkLogo));
           Graphics a = Graphics.FromImage(bitmap);
           a.DrawImage(copyImage, new Rectangle(bitmap.Width-copyImage.Width,bitmap.Height-copyImage.Height,copyImage.Width, copyImage.Height),0,0, copyImage.Width, copyImage.Height, GraphicsUnit.Pixel);

           copyImage.Dispose();
           a.Dispose();
           copyImage.Dispose();

           //保存高清晰度的縮略圖
           bitmap.Save(strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);

           g.Dispose();
           image.Dispose();
          }

          source:http://feisha.cn/Articles/Art.162.htm
          posted on 2008-04-17 09:38 百年 閱讀(777) 評論(0)  編輯  收藏 所屬分類: .net
          主站蜘蛛池模板: 连江县| 南京市| 高要市| 三江| 库车县| 北辰区| 临泉县| 县级市| 象山县| 乌兰浩特市| 定兴县| 大新县| 元朗区| 金平| 海宁市| 漳州市| 台山市| 永城市| 麻城市| 仁化县| 炎陵县| 尤溪县| 肃北| 盈江县| 进贤县| 高唐县| 财经| 华阴市| 合川市| 繁昌县| 青龙| 卢氏县| 青河县| 广丰县| 台江县| 江阴市| 峡江县| 施秉县| 正安县| 运城市| 盘山县|