首页 新闻 会员 周边

winform 在方形图中截出圆形图

1
悬赏园豆:10 [已解决问题] 解决于 2014-09-15 11:16

 用 C# 代码实现了该功能,但有点不足,图片的边缘不是平滑的,

附代码:

    public static Bitmap GetRoundPic(Bitmap sourceBitmap, int size)
        {
              //要截图的图片
                Image img = ResizeImg(sourceBitmap,size,size);
                //截图画板
                Bitmap bm = new Bitmap(size, size);
                Graphics g = Graphics.FromImage(bm);
                //创建截图路径(类似Ps里的路径)
                GraphicsPath gpath = new GraphicsPath();
                gpath.AddEllipse(0, 0, size, size);//圆形
                //设置画板的截图路径
                g.SetClip(gpath);
                //对图片进行截图
                g.DrawImage(img, 0, 0);
                //保存截好的图
                return bm;      
        }

求大神帮忙看看怎么让边缘变得平滑,还有怎么给圆形外面的背景加颜色?

jerry128的主页 jerry128 | 初学一级 | 园豆:31
提问于:2014-09-13 19:49
< >
分享
最佳答案
0

消除锯齿

g.SmoothingMode = SmoothingMode.AntiAlias; //使绘图质量最高,即消除锯齿
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.CompositingQuality = CompositingQuality.HighQuality;

收获园豆:10
爱编程的大叔 | 高人七级 |园豆:30839 | 2014-09-14 13:52
其他回答(1)
1

求 ResizeImg的函数内容?

cooling609 | 园豆:202 (菜鸟二级) | 2016-01-11 12:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册