(在此之前被标记为重复,我想说我已经尝试过其他帖子的答案,但它们似乎不适用于我的具体问题。)
我正在创建一种“地图游戏”,其中有一个地图分为多个区域。目前,这就是我所拥有的:
它有效,但它并不漂亮。我想制作按钮(目前它们是Rectangle控件,但我可以轻松改变它)正确的形状。
我尝试在Inkscape中创建一个路径,它给了我这个SVG路径:
m 283.60033,267.22114 11.61675,32.57742 14.14214,-8.33376 10.35406,-1.01015 11.61676,-5.3033 10.6066,-5.05077 0,-16.66751 -34.85027,-3.78808 -8.08122,2.77792 -14.64721,0.75762 z
但是,当我尝试制作一个Button(以及后来的Polygon)使用该路径时,它不起作用,而是形成一个完全不同的形状。
按钮需要具有可在运行时更改的背景颜色,因此PictureBox将无法工作。
路径不起作用的原因是什么?或者可能有一个更简单的方法?
编辑:这是我用于Polygon的代码
<Polygon Fill="Blue" Points="283.60033,267.22114 11.61675,32.57742 14.14214,-8.33376 10.35406,-1.01015 11.61676,-5.3033 10.6066,-5.05077 0,-16.66751 -34.85027,-3.78808 -8.08122,2.77792 -14.64721,0.75762" Margin="248,102,956,22" RenderTransformOrigin="0.5,0.5" Grid.ColumnSpan="2"/>
这是结果,这与我尝试更改Button形状时的形状相同(不幸的是我删除了代码):
这是它应该是什么样的(在Inkscape中绘制的路径):
你确定你没有弄清楚你挑选出的xaml inkscape产生的部分吗?
因为这大致是伊比利亚半岛的右上角。就像你绘制的地图一样大概无论如何。那只是一个多边形 - 边缘硬。无论你生产它的意义,你都没有追踪你向我们展示的曲线/粗糙边缘。
也。如果你查看其中的数据。看看它从哪里开始?
m 283.60033,267.22114
那些是x,y坐标。
268px离开,267px下跌
从你放入的任何容器的左上角开始。这对你有用吗?