gpt4 book ai didi

c# - 如何绘制一个看起来像CAD立面图的矩形

转载 作者:行者123 更新时间:2023-11-30 22:21:58 25 4
gpt4 key购买 nike

我应该用什么画笔来绘制内部线条为白色的矩形和矩形周边的线条,如下面的立面图。

form1 winform 是我正在处理的,winform 背后的图像是我需要矩形在我的 winform 中查看的方式。

为了让问题更简单,我怎样才能用白色填充矩形的内部部分?

如何用白色填充矩形的线条?我不需要填充矩形的内部,我需要用白色填充构成矩形的 4 条线的一部分。

CAD Example

       void BuildShopDrawing(ElevationResponse elevation)
{

float penWidth = (float)((2f / 12f) * PIXELS_PER_FOOT);
Pen blackPen = new Pen(Color.FromArgb(40, 84, 149), penWidth);
Bitmap canvas = new Bitmap((((int)elevation.TotalWidthFeet) * PIXELS_PER_FOOT) + 55, (((int)elevation.TotalHeightFeet) * PIXELS_PER_FOOT) + 25);
Graphics dc = Graphics.FromImage(canvas);

RectangleF[] bays = new RectangleF[elevation.Bays.Count];
float x = 10F;
float width = 0F;
float height = 0F;

for (int i = 0; i < elevation.Bays.Count; i++)
{
if (i > 0)
{
x += (float)((elevation.Bays[i - 1].WidthInches / 12) * PIXELS_PER_FOOT);
}
width = (float)(elevation.Bays[i].WidthInches / 12) * PIXELS_PER_FOOT;
height = (float)(elevation.Bays[i].HeightInches / 12) * PIXELS_PER_FOOT;
bays[i] =
new RectangleF(new PointF(x, 10),
new SizeF(width, height));
}

dc.DrawRectangles(blackPen, bays);
this.picBx.Image = canvas;
this.Size = new System.Drawing.Size(canvas.Width + 10, canvas.Height + 50);
}

最佳答案

您需要更彻底地查看 Pen Class更具体地说 CompoundArray Property ,它会给你一些你想要的东西,你需要尝试一些其他的 Pen 类属性来让你的过渡正确。附带说明一下,当您发布依赖于外部自定义类的示例代码时,您会更难有人提供帮助,最好始终确保代码可以自行运行。

在声明你的笔后尝试添加它。

float[] cmpArray = new float[4]{0.0F, 0.2F, 0.7F, 1.0F};
blackPen.CompoundArray = cmpArray;

看起来像这样:

enter image description here

关于c# - 如何绘制一个看起来像CAD立面图的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com