Tôi có phương pháp vẽ hình chữ nhật tròn với đường viền. Đường viền có thể là bất kỳ chiều rộng nào, do đó, vấn đề tôi gặp phải là đường viền đang mở rộng qua các giới hạn nhất định khi đường viền dày vì nó được vẽ từ giữa đường dẫn.Cách vẽ hình chữ nhật tròn với đường viền có chiều rộng thay đổi bên trong các giới hạn cụ thể
Tôi sẽ bao gồm chiều rộng của đường viền sao cho nó vừa khít với các giới hạn nhất định?
Đây là mã tôi đang sử dụng để vẽ hình chữ nhật tròn.
private void DrawRoundedRectangle(Graphics gfx, Rectangle Bounds, int CornerRadius, Pen DrawPen, Color FillColor)
{
GraphicsPath gfxPath = new GraphicsPath();
DrawPen.EndCap = DrawPen.StartCap = LineCap.Round;
gfxPath.AddArc(Bounds.X, Bounds.Y, CornerRadius, CornerRadius, 180, 90);
gfxPath.AddArc(Bounds.X + Bounds.Width - CornerRadius, Bounds.Y, CornerRadius, CornerRadius, 270, 90);
gfxPath.AddArc(Bounds.X + Bounds.Width - CornerRadius, Bounds.Y + Bounds.Height - CornerRadius, CornerRadius, CornerRadius, 0, 90);
gfxPath.AddArc(Bounds.X, Bounds.Y + Bounds.Height - CornerRadius, CornerRadius, CornerRadius, 90, 90);
gfxPath.CloseAllFigures();
gfx.FillPath(new SolidBrush(FillColor), gfxPath);
gfx.DrawPath(DrawPen, gfxPath);
}