不确定这是否属于这里或.NET 论坛。
有人知道使用 TikZ 重用 .NET 编码绘图的实现吗?或者有什么想法,如何做到这一点?我只是想知道,这是否容易或不值得付出努力。
举个例子:在 C# 中绘图是这样的:
static Pen black = new Pen(Color.FromArgb(50, 0, 0, 0), 1);
给出线条。颜色和厚度1
。
SmoothingMode saveMode = SmoothingMode.AntiAlias;
一些可以一开始就忽略的示例属性。
int aVariable = 20;
Point startPos = new Point(0, 142);
Point curvePos = new Point(43, 134);
Point endPos = new Point(72, 116);
for (int y = 0; y <= aVariable; y++)
{
g.DrawCurve(black, new Point[] { startPos, curvePos, endPos });
startPos.Y = startPos.Y + 4;
curvePos.Y = curvePos.Y + 4;
endPos.Y = endPos.Y + 4;
}
或者
Color color1 = Color.FromArgb(80, 132, 178, 223);
Color color2 = Color.FromArgb(132, 178, 223);
g.FillRectangle(new LinearGradientBrush(new Point(124, 19), new Point(124, 25), color1, color2), new Rectangle(124, 19, 29, 6));
演示一些图纸。
我认为,它与 TikZ 有很多相似之处,因为一切都由坐标、直线、曲线或矩形定义。因此,任何有关如何重用此代码的想法都欢迎提出。
答案1
收集评论来写答案:
不,周围没有转换器。或者至少没有已知的转换器。
最简单的解决方案是,使用这样的库将绘图导出为 SVG:http://www.codeproject.com/Articles/3751/An-SVG-framework-in-C-and-an-SVG-GDI-bridge
SVG 可以在 Inkscape 中处理。Inkscape 具有导出到 TikZ 的功能,该功能仍在开发中,但已经取得了不错的效果。