如何在C#中创建一个平滑的圆形图片框?

Jos*_*cel 2 c# image picturebox visual-studio-2015

我目前正在“Visual Studio 2015 C#”中设计一个程序,并希望实现圆形图片框。在程序中有图片框,其中的源图像是从网上下载的。在默认状态下,“图片框”是方形的。我想知道如何将“图片框”的形状更改为圆形。这样加载时的图像将是圆形而不是方形或矩形。

我已经想出了如何缩小图像并保持其质量并将其居中,但我不知道如何将“图片框”更改为圆形。

我找到了几种方法来做到这一点,但不幸的是,使用这种方法,圆圈不是平滑的,而是像素化的。

这是我想要的一个例子:http : //i.imgur.com/kaOfTFU.png

Bar*_*onz 5

您创建一个路径(即圆形或任何您想要的形状),并将图片框区域设置为该路径。这是一个带有圆圈的示例:

 public partial class Form1 : Form {
     public Form1() {
       InitializeComponent();
       System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();
       path.AddEllipse(0, 0, pictureBox1.Width, pictureBox1.Height);
       pictureBox1.Region = new Region(path);
     }
   }
Run Code Online (Sandbox Code Playgroud)

这个 StackExchange 帖子介绍了如何使图片框的任何路径平滑:

绘制剪裁图像时可以使用抗锯齿吗?