如何在 MSChart 中为黑白打印制作虚线或点线列
How to make dashed or dotted columns for b&w printing in an MSChart
我正在制作柱形图,需要区分黑白格式的柱形。
我知道如何改变颜色:
mychart.Series["MyName"].Color = Color.MidnightBlue;
但我不知道如何用虚线或点线图案填充列。
简单的解决办法:你可以设置一个BackHatchStyle
,也就是ChartHatchStyle,例如:
yourSeries.BackHatchStyle = ChartHatchStyle.DarkHorizontal;
这些填充图案正是为这项工作而设计的。结合 Color
和 BackSecondaryColor
的设置,还有更多变化:
具有 4 种填充样式和一种自定义填充图案的柱形图。
如您所见每个数据点可能有自己的样式。请注意,afaik 您仅限于枚举中的 54 元素并且无法更改,例如规模。
如果这还不够好,您可以创建一个 平铺图像 并将其设置为 BackImage
,因为我做到了第三点。
为此,您可以使用磁盘中的位图或您可以将即时创建的图像添加到图表的Images
collection。这将是一个 NamedImage
并且您设置的名称就是您使用的名称。
示例:
Bitmap bmp = new Bitmap(10, 12);
using (Graphics g = Graphics.FromImage(bmp))
using (SolidBrush b1 = new SolidBrush(Color.ForestGreen))
using (SolidBrush b2 = new SolidBrush(Color.Maroon))
{
g.Clear(Color.Silver);
g.FillRectangle(b1, 0, 3, 10, 4);
g.FillRectangle(b2, 0, 9, 10, 3);
chart1.Images.Add(new NamedImage("tile3cols", bmp));
}
现在可以使用了:
chart1.Series[0].Points[2].BackImage = "tile3cols";
您甚至可以将两者结合起来并使用 HatchBrush
加上缩放的 Graphics
以在更大的比例下使用填充图案..
我正在制作柱形图,需要区分黑白格式的柱形。
我知道如何改变颜色:
mychart.Series["MyName"].Color = Color.MidnightBlue;
但我不知道如何用虚线或点线图案填充列。
简单的解决办法:你可以设置一个BackHatchStyle
,也就是ChartHatchStyle,例如:
yourSeries.BackHatchStyle = ChartHatchStyle.DarkHorizontal;
这些填充图案正是为这项工作而设计的。结合 Color
和 BackSecondaryColor
的设置,还有更多变化:
具有 4 种填充样式和一种自定义填充图案的柱形图。
如您所见每个数据点可能有自己的样式。请注意,afaik 您仅限于枚举中的 54 元素并且无法更改,例如规模。
如果这还不够好,您可以创建一个 平铺图像 并将其设置为 BackImage
,因为我做到了第三点。
为此,您可以使用磁盘中的位图或您可以将即时创建的图像添加到图表的Images
collection。这将是一个 NamedImage
并且您设置的名称就是您使用的名称。
示例:
Bitmap bmp = new Bitmap(10, 12);
using (Graphics g = Graphics.FromImage(bmp))
using (SolidBrush b1 = new SolidBrush(Color.ForestGreen))
using (SolidBrush b2 = new SolidBrush(Color.Maroon))
{
g.Clear(Color.Silver);
g.FillRectangle(b1, 0, 3, 10, 4);
g.FillRectangle(b2, 0, 9, 10, 3);
chart1.Images.Add(new NamedImage("tile3cols", bmp));
}
现在可以使用了:
chart1.Series[0].Points[2].BackImage = "tile3cols";
您甚至可以将两者结合起来并使用 HatchBrush
加上缩放的 Graphics
以在更大的比例下使用填充图案..