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

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

我找到了几种方法来完成此操作,但不幸的是,使用此方法时,圆不是平滑的,而是像素化的。

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

最佳答案

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

 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);
     }
   }


这篇StackExchange帖子介绍了如何使图片框的所有路径平滑:

Possible to have anti-aliasing when drawing a clipped image?

关于c# - 如何在C#中创建一个光滑的圆形图片框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35674802/

10-12 03:44