首页 > Windows开发 > 详细

asp.net C# 将图片裁剪成圆形,并保存到本地

时间:2019-05-30 20:25:53      阅读:230      评论:0      收藏:0      [点我收藏+]

//将图片裁剪成圆形

     private Image CutEllipse(Image img, Rectangle rec, Size size, string imgSavePath)
        {
            Bitmap bitmap = new Bitmap(size.Width, size.Height);
            using (Graphics g = Graphics.FromImage(bitmap))
            {
                using (TextureBrush br = new TextureBrush(img, System.Drawing.Drawing2D.WrapMode.Clamp, rec))
                {
                    br.ScaleTransform(bitmap.Width / (float)rec.Width, bitmap.Height / (float)rec.Height);
                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                    g.FillEllipse(br, new Rectangle(Point.Empty, size));
                }
            }          
            bitmap.Save(imgSavePath, System.Drawing.Imaging.ImageFormat.Png);
            return null;
        }

//方法调用

     imgPath = "~/submitImages/20180913094627.png";
        Image image = Image.FromFile(HttpContext.Current.Server.MapPath(imgPath));       //判断图片是否已经存在,若存在,删除
        if (!File.Exists(imgSavePath))
        {
            //File.Delete(Path.GetFullPath(imgSavePath));//删除存在
            //将图片裁剪成圆形,并保存到本地
            CutEllipse(image, new Rectangle(0, 0, 200, 200), new Size(200, 200), imgSavePath);
        }

 

 

 

private Image CutEllipse(Image img, Rectangle rec, Size size, string imgSavePath)        {            Bitmap bitmap = new Bitmap(size.Width, size.Height);            using (Graphics g = Graphics.FromImage(bitmap))            {                using (TextureBrush br = new TextureBrush(img, System.Drawing.Drawing2D.WrapMode.Clamp, rec))                {                    br.ScaleTransform(bitmap.Width / (float)rec.Width, bitmap.Height / (float)rec.Height);                    //br.ScaleTransform(bitmap.Width , bitmap.Height);                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;                    g.FillEllipse(br, new Rectangle(Point.Empty, size));                }            }                      bitmap.Save(imgSavePath, System.Drawing.Imaging.ImageFormat.Png);            return null;        }

asp.net C# 将图片裁剪成圆形,并保存到本地

原文:https://www.cnblogs.com/ciel-shan/p/10908721.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!