我在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保存为单色?