我正在C#.NET 4中编写图表应用程序,并且需要图形输出在Microsoft Excel中可编辑。我知道MS Office仅有的两种矢量格式-CGM和WMF。我正在为其OpenGL包装器使用OpenTK,所以我拥有所有顶点。

我也查看了Metafile in .NET 4,但它似乎主要用于读取WMF文件。它仍然输出为PNG。

我几乎已经放弃了对CMG的希望,实际上找不到太多信息。对于Windows图元文件格式,我找到了this link,所以问题是:有没有人得到我可以使用的开源库(最好是C#)?

由于我对此很不好,所以我需要一些易于使用的东西,例如:

wmf = new Wmf();
wmf.addLine(x, y);
wmf.addRectangle(x, y, w, h);
wmf.addEllipse(x, y, radiusx, radiusy);
wmf.save("welldone.wmf");


关于SO和Google的其余帖子似乎并不关心它是矢量格式还是栅格格式,因此我希望获得更多帮助。谢谢。

最佳答案

签出WMF库:http://wmf.codeplex.com/

var wmf = new WmfDocument();
wmf.Width = 1000;
wmf.Height = 1000;
wmf.Format.Unit = 288;
wmf.AddPolyFillMode(PolyFillMode.WINDING);
wmf.AddCreateBrushIndirect(Color.Blue, BrushStyle.BS_SOLID);
wmf.AddSelectObject(0);
wmf.AddCreatePenIndirect(Color.Black, PenStyle.PS_SOLID, 1);
wmf.AddSelectObject(1);

wmf.AddLine(Point start, Point end);
wmf.AddRectangle(x, y, width, height);
wmf.AddEllipse(x, y, width, height);

wmf.AddDeleteObject(0);
wmf.AddDeleteObject(1);
wmf.Save(path);

关于.net - 用于CGM或WMF矢量格式输出的C#库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9324000/

10-11 02:24