我应该使用什么画笔来绘制线条白色内部的矩形和矩形周边的线条,如下面的高程。
form1 winform是我正在研究的,winform背后的图像是我需要如何看待我的winform中的矩形。
为了使问题更容易,我如何用白色填充矩形的内部?
如何用白色填充矩形的LINES?我不需要填充矩形的内部,我需要用白色填充构成矩形的4条线的一部分。
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);
}
答案 0 :(得分:3)
你需要在Pen Class更具体的CompoundArray Property看一下,它会给你一些你想要的东西,你需要玩一些其他的Pen Class属性让你的过渡正确。作为附注,当您发布依赖于外部自定义类的示例代码时,您会更难以帮助某人,最好确保代码可以自行运行。
在声明笔后尝试添加此内容。
float[] cmpArray = new float[4]{0.0F, 0.2F, 0.7F, 1.0F};
blackPen.CompoundArray = cmpArray;
它看起来像这样: