在OxyPlot Documentation Website上的文档中,它说要使用PngExporter
类。这个类不再存在于OxyPlot,而是有类称为“cc>和PngEncoder
。我怀疑PngDecoder
的等效方法是PngExporter.Export
,但是它需要一个称为“像素”的PngEncoder.Encode
的二维数组,但是我不知道从哪里获取这些数据。
注意:导出到svg或pdf是可行的,但是这个表单是无用的。
问题:我只需要从oxyplot中的OxyColor
代码导出png,但是文档已经过时。
这是我被告知要使用的代码:
using (var stream = File.Create(fileName))
{
var pngExporter = new PngExporter();
pngExporter.Export(plotModel, stream, 600, 400, Brushes.White);
}
最佳答案
要添加到Jamie的答案中,如果要从Say a类库导出PNG,可以使用Stathread执行以下操作:
var thread = new Thread(() =>
{
PngExporter.Export(plotModel, @"C:\file.png", 600, 400, OxyColors.White);
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
这是使用最新的预发行版本v1.0.0-unstable2100。