我正在使用.NET绘图来绘制一个图表,实际上是一个堆积条形图。
我的问题是,我想减少阴影样式中的线条数量,以便将其放大以使其更清晰。我已经搜索了一些内容,但没有找到任何可以帮助我的东西。
我画一个矩形,然后使用阴影刷填充它,但由于图像大小,阴影填充变得不够清晰。感谢您提供任何建议。
阴影样式和刷子类型存储在数据库中,我使用一个辅助函数来返回它们。因此,在绘制矩形并获取刷子后,我填充矩形。实质上,我想扩大阴影填充是否可行。
正如您在下面的图片中所看到的那样,图案样式不够清晰。
g.DrawRectangle(gridpen, startX, startY, BOREHOLE_RECT_WIDTH, layerRectHeight);
brush = GetBoreholeBrush(l.SoilTypeMatrixLevel1Id.PrimaryBrushType,
l.SoilTypeMatrixLevel1Id.PrimaryFillStyle,
l.SoilTypeMatrixLevel1Id.PrimaryColour);
g.FillRectangle(brush, startX, startY, BOREHOLE_RECT_WIDTH, layerRectHeight);
还有getBrush函数;画笔类型、填充样式和颜色存储在数据库中,并用于创建返回的画笔:
//===================================
private Brush GetBoreholeBrush(string BrushType, string HatchStyle, string Colour)
//===================================
{
//Decide on what brush type has been chosen.
Brush brush;
if (BrushType.ToLower() == BrushTypes.HatchBrush.ToString().ToLower())
{
brush = new HatchBrush(GetHatchStyle(HatchStyle),
Color.Black, ColorTranslator.FromHtml(Colour));
}
else if (BrushType.ToLower() == BrushTypes.SolidBrush.ToString().ToLower())
{
brush = new HatchBrush(GetHatchStyle(HatchStyle),
Color.Black, ColorTranslator.FromHtml(Colour));
}
else if (BrushType.ToLower() == BrushTypes.TextureBrush.ToString().ToLower())
{
brush = new HatchBrush(GetHatchStyle(HatchStyle),
Color.Black, ColorTranslator.FromHtml(Colour));
}
else
{
brush = new HatchBrush(GetHatchStyle(HatchStyle),
Color.Black, ColorTranslator.FromHtml(Colour));
}
return brush;
}
返回图案样式的函数:
//===================================
private HatchStyle GetHatchStyle(string FillStyle)
//===================================
{
//Loop through each hatch tyle and return the correct one.
foreach (HatchStyle style in Enum.GetValues(typeof(HatchStyle)))
{
if (style.ToString().ToLower() == FillStyle.ToLower())
{
return style;
}
}
return HatchStyle.Vertical;
}
正如您在下面的图片中所看到的那样,图案样式不够清晰。
GetBoreholeBrush
内部或更深处。 - quetzalcoatl