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

时间:2016-02-27 20:04:17

标签: c# image visual-studio-2015 picturebox

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

我已经想出了如何缩小图像质量并保持其质量并使其居于中心,但我不知道如何更改图像"变成一个圆圈。

我找到了几种方法,但不幸的是,通过这种方法,圆圈不是平滑的,而是像素化的。

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

1 个答案:

答案 0 :(得分:4)

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

 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?