[英]How to crop a square Image and change it into a circle C#
关于c#,这是一个新手,我想知道是否可以在c#winforms中制作圆形的pictureBox。 我正在制作一个简单的软件,人们可以在其中选择图片并将其设置为图片框。 因此,我不能要求每个用户都使用Photoshop并使其图像循环。 是否可以制作一个圆形的PictureBox来裁剪图片并更新具有透明背景的PNG格式的图片文件?
我当前的代码,用于在button1上的pictureBox1中设置图像。单击事件:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog();
if (OFD.ShowDialog() == DialogResult.OK)
{
Bitmap Image = new Bitmap(OFD.FileName);
pictureBox1.Image = Image;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
}
}
我不知道如何执行此操作或从哪里开始搜索! 一些帮助将不胜感激。
UPDATE感谢@TaW我已经更新g.SetClip(path)
,而不是new region
设置图形
夹到新圈子
这是一个例子:
public Bitmap ClipToCircle(Bitmap original, PointF center, float radius)
{
Bitmap copy = new Bitmap(original);
using (Graphics g = Graphics.FromImage(copy)) {
RectangleF r = new RectangleF(center.X - radius, center.Y - radius,
radius * 2, radius * 2);
GraphicsPath path = new GraphicsPath();
path.AddEllipse(r);
g.SetClip(path)
g.DrawImage(original, 0, 0);
return copy;
}
}
希望它能解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.