创建后,LiveCharts从彩色变为黑白

时间:2018-10-16 08:54:09

标签: livecharts

我在c#中使用了精美的实时图表,我希望用户看到颜色折线图,然后将其转换为黑白以进行打印。

我正在使用任一方法保存位图:

Bitmap bmp = new Bitmap(cartesianChart1.Width, cartesianChart1.Height);

cartesianChart1.DrawToBitmap(bmp, new System.Drawing.Rectangle(0, 0, 
cartesianChart1.Width, cartesianChart1.Height));
bmp.Save("C:\\Users\\Public\\Results\\linGraph2.bmp");

或者:

SaveAsBitmap(cartesianChart1, "C:\\Users\\Public\\Results\\linGraph.bmp");

请问有没有简单的方法可以将此bmp转换为抖动的黑白图像? 我已经尝试过了:

var color = new Bitmap("C:\\Users\\Public\\Results\\linGraph.bmp");
var bw = color.Clone(new System.Drawing.Rectangle(0, 0, color.Width, color.Height), 
PixelFormat.Format1bppIndexed);
bw.Save("C:\\Users\\Public\\Results\\linGraph1.bmp");

这会导致图像不良。

我还可以删除轴和系列,然后将它们重新添加为黑色,但是如何删除系列?

有:

cartesianChart1.Series.Remove(object value)

但是对象值是什么?

这是我添加系列的方式:

cartesianChart1.Series.Add(new LineSeries
{
    Values = ValuesLinearity,
    StrokeThickness = 2,
    PointGeometrySize = 0,
    DataLabels = false,
    Title = "Linearity Error % new",
    ScalesYAt = 1,
    Stroke = new 
    System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromRgb(0, 0, 0)),
    Fill = System.Windows.Media.Brushes.Transparent,
    LineSmoothness = 1,
});

或者,我可以将使用itextsharp创建的pdf保存为单色?

0 个答案:

没有答案