我刚开始在xaml中使用Geomectry绘图,我看到了一篇有趣的文章https://msdn.microsoft.com/en-us/library/aa480159.aspx。在这里,我发现下面的绘图画笔给出了一个图形图作为输出。
<DrawingBrush x:Name="gridBackgroundBrush"
Viewport="0,0,10,10"
ViewportUnits="Absolute"
TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Geometry="M0,0 L1,0 1,0.1, 0,0.1Z" Brush="Green" />
<GeometryDrawing Geometry="M0,0 L0,1 0.1,1, 0.1,0Z" Brush="Green" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>从进一步的阅读中,我发现M表示起点或移动,L表示直线,Z表示接近,但不知道这将如何给我两条线,一条水平的,一条垂直的?任何帮助理解这一点都将受到高度赞赏。谢谢。
发布于 2016-03-29 23:40:23
所以这是给你的一个快速的分解。
您的示例是一个DrawingBrush,它显式地设置为TileMode="Tile",如果您对CSS更熟悉的话,这相当于重复-x/重复-y。因此,它被指示重复自己向上向下/左-右重复。
如果单独翻译你的Geometry Drawing的两位,是两个正方形,一个是垂直拉伸,一个是水平拉伸。当您显式设置时,ViewportUnits会指示大小和位置,从而有效地重复列和行。
正如您所指出的,您的路径几何使用路径标记语法绘制这些线。要获得更直观的解释,请将您的笔刷替换在每个笔刷上。
<GeometryDrawing Geometry="M0,0 L1,0 1,0.1, 0,0.1Z" Brush="Red" />
<GeometryDrawing Geometry="M0,0 L0,1 0.1,1, 0.1,0Z" Brush="Blue" />...and瞧!您有一个重复的线条背景和有效的垂直/水平列创建您的网格。请参阅链接以获得更多细节,并希望这会有所帮助。干杯!
哦,你得到的问题,从…也有一个链接,可以为它提供一点启示,但是没有你想要的那么多,所以我没有标记这个复制。
增编:
再澄清一点。不过,如果你想学的更多,我会遵循文档链接,有人花了大量的时间来回答这个问题。想一想,如果你有一个x,y网格,你在画点。
假设您正在使用类似之类的笔工具,或者混合。您的第一个单击是根据容器的相对大小将您的M设置为起点。然后在另一个spot...well中单击,现在实际上有了一个L行。
所以当我们看到:M0,0 L1,0,这是我们的第一条起跑线。在这种情况下,它是上角延伸到右角,因为在两点之间的线没有另一个锚。下一组充当锚,告诉这条线改变它的方向,使边,以此类推,第四,直到你到达终点在Z。希望这会有所帮助,但我会首先鼓励编写文档。
在这里,如果你想修改数字和学习,它们都是单独的:
<Path Data="M0,0 L1,0 1,0.1, 0,0.1Z"
Height="150" Width="150" Stroke="Red" />
<Path Data="M0,0 L0,1 0.1,1, 0.1,0Z"
Height="150" Width="150" Stroke="Blue" />发布于 2016-03-29 22:13:00
当我使用GMaps V3时,我遇到了同样的事情。这是一个SVG路径符号路径,允许您在WPF和浏览器上进行绘图。您可以在链接中找到完整的文档。
https://stackoverflow.com/questions/36295680
复制相似问题