C#路径中的半圆形矩形

C#路径中的半圆形矩形,c#,winforms,rectangles,C#,Winforms,Rectangles,我有个问题 我有一个圆角矩形。它的右边是圆形的,左边是直的。我想用另一种方式——左圆,右直。 我应该换什么 int ArcWidth = 10 * 2; int ArcHeight = 10 * 2; int ArcX1 = Rect.Left; int ArcX2 = Rect.Right -(ArcWidth + 1); int ArcY1 = Rect.Top; int ArcY2 = Rect.Bottom -(ArcHeight + 1); path.AddArc(ArcX1, Ar

我有个问题

我有一个圆角矩形。它的右边是圆形的,左边是直的。我想用另一种方式——左圆,右直。 我应该换什么

int ArcWidth = 10 * 2;
int ArcHeight = 10 * 2;
int ArcX1 = Rect.Left;
int ArcX2 = Rect.Right -(ArcWidth + 1);
int ArcY1 = Rect.Top;
int ArcY2 = Rect.Bottom -(ArcHeight + 1);

path.AddArc(ArcX1, ArcY1, 1, 1, 180, 90); // Top Left
path.AddArc(ArcX2, ArcY1, ArcWidth, ArcHeight, 270, 90); //Top Right
path.AddArc(ArcX2, ArcY2, ArcWidth, ArcHeight, 360, 90); //Bottom Right
path.AddArc(ArcX1, ArcY2, 1, ArcHeight, 90, 90); //Bottom Left

切换圆形的边。看起来你已经把身体的各个方面都布置好了。切换所有号码。

我在这里找到了解决方案:


方法是画一条线,而不是弧。。。(是的,我知道这是显而易见的)

他在使用winforms思想当我换边时,我的矩形被截断(一半大小)。我尝试过更改ArcX1->X2等,但唯一好的方法是将右上角的高度更改为1,然后看起来像