gpt4 book ai didi

visual-studio - DGML图形坐标是以什么方式定向的?

转载 作者:行者123 更新时间:2023-12-05 06:38:22 25 4
gpt4 key购买 nike

上下文

我正在尝试将 DGML 图形转换为 SVG。我正在使用 Javascript 使用 Jquery 读取和解析 DGML NodesLinks。我使用 Visual Studio 2017 创建了一个 DGML 图(它有一个交互式内置编辑器)。本质上,我需要在 DGML 图上的节点位置和生成的 SVG 之间创建一个映射。我已经成功地转换了节点和链接的每个属性,除了名为 Bounds

的属性
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="Node1" Background="#FF000000" Bounds="289.142857142857,-914.285714285714,56.9200000000001,25.96" Label="node 1" UseManualLocation="True" />
<Node Id="Node2" Bounds="-99.1466388157435,-813.468571428572,56.9200000000001,25.96" Label="node 2" UseManualLocation="True" />
<Node Id="Node3" Bounds="165.353095238095,-821.948571428572,56.9200000000001,25.96" Label="node 3" UseManualLocation="True" />
<Node Id="Node4" Bounds="231.884895804269,-672.637129778181,56.92,25.96" Label="node 4" UseManualLocation="True" />
<Node Id="Node5" Bounds="126.293653230212,-514.368957318116,56.9200000000001,25.96" Label="node 5" UseManualLocation="True" />
<Node Id="Node6" Bounds="513.21231765747,-699.551714460973,56.9200000000001,25.96" Label="node 6" UseManualLocation="True" />
</Nodes>
<Links>
<Link Source="Node1" Target="Node2" Bounds="-33.5154810441621,-893.916239433358,322.658338187019,83.7763765262094" />
<Link Source="Node1" Target="Node3" Bounds="218.428553771979,-888.325714285714,81.7729515442388,60.9960031621974" />
<Link Source="Node2" Target="Node4" Bounds="-42.8686314368827,-788.653915128306,267.113829712029,113.638782142621" />
<Link Source="Node2" Target="Node5" Bounds="-60.9032254171191,-787.508586425781,200.456326731834,265.952512098603" />
<Link Source="Node3" Target="Node4" Bounds="199.596870550233,-795.988597412109,51.3011424145167,115.130629087374" />
<Link Source="Node4" Target="Node5" Bounds="168.40836594804,-646.677165527344,83.2767077301747,124.821483021298" />
<Link Source="Node4" Target="Node6" Bounds="288.80489440918,-682.991837277453,215.448314485295,20.6119078319973" />
<Link Source="Node6" Target="Node1" Bounds="337.645038336076,-882.098554229514,190.482965266866,182.54683792092" />
</Links>
<Properties>
<Property Id="Background" Label="Background" Description="The background color" DataType="System.Windows.Media.Brush" />
<Property Id="Bounds" DataType="System.Windows.Rect" />
<Property Id="Label" Label="Label" Description="Displayable label of an Annotatable object" DataType="System.String" />
<Property Id="UseManualLocation" DataType="System.Boolean" />
</Properties>
</DirectedGraph>

How the DGML looks like in Visual Studio

我在“边界”的属性标记中看到数据类型是 System.Windows.Rect,它有一个构造函数 Rect(Double, Double, Double, Double)- 初始化具有指定 x 坐标、y 坐标、宽度和高度的 Rect 结构的新实例。

https://msdn.microsoft.com/en-us/library/system.windows.rect(v=vs.110).aspx

由于所有节点的大小都相同,所以假设最后两个参数是宽度和高度并没有错。

问题

DGML的图形坐标系是如何定向的?例如,SVG 图形像大多数 CG 坐标一样以左上角原点开始;正 X 向右,正 Y 向底部。我在 DGML 引用中找不到任何关于此的信息

https://learn.microsoft.com/en-us/visualstudio/modeling/directed-graph-markup-language-dgml-reference

最佳答案

看着你的图表,我认为 Y 轴是倒置的(自上而下),X 轴是经典的(左右)。坐标起点位于图 TableView 底部后面某处的 Node2 和 Node5 之间。

关于visual-studio - DGML图形坐标是以什么方式定向的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46357781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com