3

C#.NET 4でダイアグラム作成アプリを作成していますが、グラフィック出力をMicrosoftExcelで編集できるようにする必要があります。私がMSOfficeで知っている唯一の2つのベクター形式-CGMとWMF。OpenGLラッパーにOpenTKを使用しているので、すべての頂点があります。

.NET 4のメタファイルも調べましたが、主にWMFファイルを読み取るためのようです。それでもPNGに出力されます。

私はすでにCMGへの希望をほとんどあきらめていますが、実際にはあまり情報が見つかりません。Windowsメタファイル形式の場合、このリンクを見つけたので、質問は次のとおりです。誰かがすでに使用できるオープンソースライブラリ(できれば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に関する残りの投稿は、ベクター形式かラスター形式かを気にしないようですので、さらに助けを求めたいと思います。ありがとう。

4

1 に答える 1

10

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);
于 2012-03-04T19:13:59.580 に答える