怎么样画圆角矩形

sunshinewater 2004-02-16 11:20:44
怎么样画圆角矩形
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
erik_xp 2004-04-22
  • 打赏
  • 举报
回复
private GraphicsPath MakePath(Rectangle objDrawRect)
{
int iMin;
iMin = this.Height;
if(this.Width<this.Height)
iMin = this.Width;

int iDia = iMin/6;
if(iDia<6)iDia=6;

GraphicsPath objGP=new GraphicsPath();
objGP.AddArc(objDrawRect.Left,objDrawRect.Top,iDia,iDia,-180,90);
//objGP.AddLine(objDrawRect.Left+iDia/2,objDrawRect.Top,objDrawRect.Right-iDia/2,objDrawRect.Top);
objGP.AddArc(objDrawRect.Right-iDia,objDrawRect.Top,iDia,iDia,-90,90);
objGP.AddLine(objDrawRect.Right,objDrawRect.Top+iDia/2,objDrawRect.Right,objDrawRect.Bottom-iDia/2);
objGP.AddArc(objDrawRect.Right-iDia,objDrawRect.Bottom-iDia,iDia,iDia,0,90);
objGP.AddLine(objDrawRect.Right-iDia/2,objDrawRect.Bottom,objDrawRect.Left+iDia/2,objDrawRect.Bottom);
objGP.AddArc(objDrawRect.Left,objDrawRect.Bottom-iDia,iDia,iDia,90,90);
objGP.AddLine(objDrawRect.Left,objDrawRect.Bottom-iDia/2,objDrawRect.Left,objDrawRect.Top+iDia/2);
return objGP;
}
有了GraphicPath,随便怎么画都可以了 :)
istring 2004-04-22
  • 打赏
  • 举报
回复
[DllImport("gdi32.Dll")]
public static extern int CreateRoundRectRgn(int nLeftRect, int nTopRect, int nRightRect, int nBottomRect, int nWidthEllipse, int nHeightEllipse);

祝好运!
elusion 2004-04-22
  • 打赏
  • 举报
回复
up
honker110 2004-04-08
  • 打赏
  • 举报
回复
这个问题我也想知道!

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧