Библиотека C# для вывода векторного формата CGM или WMF

StackOverflow https://stackoverflow.com/questions/9324000

  •  27-10-2019
  •  | 
  •  

Вопрос

Я пишу приложение для диаграммы в C# .net 4 и нуждается в редактировании графического вывода в Microsoft Excel. Единственные 2 -векторные форматы, которые я знаю для MS Office - CGM и WMF. Я использую Opentk для его обертки OpenGL, поэтому у меня есть все вершины.

Я также посмотрел на Метафил в .NET 4 Но это кажется в основном для чтения файлов WMF. Это все еще выходит в PNG.

Я уже почти отказался от надежды на CMG, на самом деле не так много информации. Для формата метафиле Windows я нашел эта ссылка Итак, вопрос: у кого есть библиотека OpenSource (предпочтительно C#), я уже могу использовать, пожалуйста?

Поскольку я так плохо в этом, мне нужно что -то простое в использовании, как:

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

Остальные посты вокруг, и 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top