隨筆-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 百年 閱讀(775) 評論(0)  編輯  收藏 所屬分類: .net
          主站蜘蛛池模板: 潜山县| 景德镇市| 永川市| 刚察县| 关岭| 营口市| 宜章县| 越西县| 高州市| 益阳市| 福清市| 无棣县| 交口县| 梅河口市| 玉山县| 丰县| 互助| 晴隆县| 卓资县| 乌恰县| 衡阳市| 游戏| 赤壁市| 阿拉善左旗| 翼城县| 辰溪县| 堆龙德庆县| 平塘县| 澎湖县| 桦南县| 贺州市| 平乐县| 大荔县| 华池县| 崇礼县| 唐海县| 漾濞| 会东县| 靖西县| 明溪县| 吕梁市|