欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#画圆角矩形的方法

时间:2021-08-20 10:05:21|栏目:.NET代码|点击:

本文实例讲述了C#画圆角矩形的方法。分享给大家供大家参考。具体实现方法如下:

protected void Page_Load(object sender, EventArgs e)
{
 Bitmap bm = new Bitmap(800, 600);
 Graphics g = Graphics.FromImage(bm);
 g.FillRectangle(Brushes.White,new Rectangle(0,0,800,600));
 FillRoundRectangle(g,Brushes.Plum,new Rectangle(100, 100, 100, 100), 8);
 DrawRoundRectangle(g, Pens.Yellow,new Rectangle(100, 100, 100, 100), 8);
 bm.Save(Response.OutputStream, ImageFormat.Jpeg);
 g.Dispose();
 bm.Dispose();
}
public static void DrawRoundRectangle(Graphics g,Pen pen,Rectangle rect, int cornerRadius)
{
 using (GraphicsPath path = CreateRoundedRectanglePath(rect, cornerRadius))
 {
  g.DrawPath(pen, path);
 }
}
public static void FillRoundRectangle(Graphics g, Brush brush,Rectangle rect, int cornerRadius)
{
 using (GraphicsPath path = CreateRoundedRectanglePath(rect, cornerRadius))
 {
  g.FillPath(brush, path);
 }
}
internal static GraphicsPath CreateRoundedRectanglePath(Rectangle rect, int cornerRadius)
{
 GraphicsPath roundedRect = new GraphicsPath();
 roundedRect.AddArc(rect.X, rect.Y, cornerRadius * 2, cornerRadius * 2, 180, 90);
 roundedRect.AddLine(rect.X + cornerRadius, rect.Y, rect.Right - cornerRadius * 2, rect.Y);
 roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y, cornerRadius * 2, cornerRadius * 2, 270, 90);
 roundedRect.AddLine(rect.Right, rect.Y + cornerRadius * 2, rect.Right, rect.Y + rect.Height - cornerRadius * 2);
 roundedRect.AddArc(rect.X + rect.Width - cornerRadius * 2, rect.Y + rect.Height - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 0, 90);
 roundedRect.AddLine(rect.Right - cornerRadius * 2, rect.Bottom, rect.X + cornerRadius * 2, rect.Bottom);
 roundedRect.AddArc(rect.X, rect.Bottom - cornerRadius * 2, cornerRadius * 2, cornerRadius * 2, 90, 90);
 roundedRect.AddLine(rect.X, rect.Bottom - cornerRadius * 2, rect.X, rect.Y + cornerRadius * 2);
 roundedRect.CloseFigure();
 return roundedRect;
}

希望本文所述对大家的C#程序设计有所帮助。

上一篇:在Form_Load里面调用Focus无效的解决方法

栏    目:.NET代码

下一篇:.net Core连接MongoDB数据库的步骤详解

本文标题:C#画圆角矩形的方法

本文地址:http://www.codeinn.net/misctech/168473.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有