Drawimg 1.图片按比例缩放 2.加水印并设置水印透明度

1.生成缩放图,图片有变形感觉(不完美)

 context.Response.ContentType = "image/jpg";


        string path = context.Server.MapPath("upload\\1.jpg");
        using (Image Img = Image.FromFile(path))
        {
            using (Bitmap b = new Bitmap(400,400))//创建一个画板
            {
                using (Graphics g = Graphics.FromImage(b))//在画板上面画(指定了大小)
                {
                    //设置高质量插值法
                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

                    //设置高质量,低速度呈现平滑程度
                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                    g.Clear(Color.Transparent);//透明
                    //将指定位置并且按指定大小绘制原图片
                    g.DrawImage(Img, new Rectangle(0, 0, 400, 400), new Rectangle(0, 0, Img.Width, Img.Height), GraphicsUnit.Pixel);
                    b.Save(context.Response.OutputStream, ImageFormat.Jpeg);
                   
                
                }
            }
        }


2.按比例生成缩放图

 string path=context.Server.MapPath("upload\\1.jpg");
        using (Image Img = Image.FromFile(path))
        {
           int  W= 400;//定义缩放的宽度
            int H = 400;//定义缩放的高度
            int ImgWidth = Img.Width;//图片原始宽度
            int ImgHeight = Img.Height;//图片原始高度
         
            if(ImgWidth/ImgHeight>=W/H)//相对缩放的框来说 宽>高
            {
                  if(ImgWidth>W)
                   {
                      ImgWidth=W;
                      ImgHeight = ImgHeight * (W / ImgWidth);
                   }
                    else
                    {
                     //否则不变
                    
                    }    
            }
            else
            {
                if(ImgHeight>H)
                {
                  ImgHeight=H;
                    ImgWidth=ImgWidth*(H/ImgHeight);
                }
                else
                {
                 
                }
            }
           //创建一个根据图片比较后的大小 
           using(Bitmap b=new Bitmap(ImgWidth,ImgHeight))
           {
             using(Graphics g=Graphics.FromImage(b))
             {
                g.DrawImage(Img, new Rectangle(0, 0, ImgWidth,ImgHeight), new Rectangle(0, 0, Img.Width, Img.Height), GraphicsUnit.Pixel);
                b.Save(context.Response.OutputStream, ImageFormat.Jpeg);
                   
             }
           
           }             
      
        }





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值