MFC(GDI+) と SvgImage の円弧出力
MFC(GDI+) の場合以下のようになります。
Gdiplus::Pen pen(Color(255, 0, 0, 0));
pGraphics->DrawArc(&pen, 100, 50, 140, 70, 30, 180);
SvgImage に書き出すと以下のようになります。
pSvgImage->AddArc(100, 50, 140, 70, 30, 180);
pImage->AddAttrStroke(RGB(0, 0, 0), 1, PS_SOLID);
MFC(GDI+) は円弧などをパス出力した際にベジェ曲線に書き換えられます。
角が円弧の多角形などを描く際に便利ですのでパスに出力したいときもあると思います。
パスとして SvgImage に書き出す場合は以下の通りです。
Gdiplus::GraphicsPath path;
path.AddArc(100, 50, 140, 70, 30, 180);
Gdiplus::PathData pathData;
path.GetPathData(&pathData);
pSvgImage->AddPathData(&pathData);
pImage->AddAttrStroke(RGB(0, 0, 0), 1, PS_SOLID);