在WPF应用程序中,我知道我可以使用以下路径语法绘制一个圆圈:
<Path
Stretch="Fill"
StrokeThickness="1"
Data="M -1,0 A 1,1 0 1 1 1,0 M -1,0 A 1,1 0 1 0 1,0" />
但是,我正在使用尚不支持Arcs(C# & XAML for HTML5)的编译器。
如何在不使用Arcs的情况下绘制此圆圈? 解决方案是逐点绘制 - 基本上是六角形,给予还是采用?
答案 0 :(得分:5)
比绘制Ellipse
元素更好的方法是使用EllipseGeometry
。
而不是顶部/左对齐,您的绘图以特定坐标为中心。此外,StrokeThickness
有助于椭圆的总宽度和高度,而几何精确定义渲染的形状。
<Path Stretch="Fill" StrokeThickness="1">
<Path.Data>
<EllipseGeometry Center="0,0" RadiusX="1" RadiusY="1"/>
</Path.Data>
</Path>
答案 1 :(得分:1)
如果你想绘制一个圆圈,你可以将Ellpise绘制为评论中提到的@lokusking。你可以这样做。
<Ellipse Stroke="Black" StrokeThickness="1" Fill="Black"></Ellipse>
如果你想绘制更复杂的东西,请使用画布并逐行绘制图形。这是六边形的例子。
<Viewbox Width="200" Height="200">
<Canvas Width="400" Height="400">
<Line
Stroke="Black"
StrokeThickness="2"
X1="0"
X2="200"
Y1="100"
Y2="0"/>
<Line
Stroke="Black"
StrokeThickness="2"
X1="200"
X2="400"
Y1="0"
Y2="100"/>
<Line
Stroke="Black"
StrokeThickness="2"
X1="400"
X2="400"
Y1="100"
Y2="300"/>
<Line
Stroke="Black"
StrokeThickness="2"
X1="400"
X2="200"
Y1="300"
Y2="400"/>
<Line
Stroke="Black"
StrokeThickness="2"
X1="200"
X2="0"
Y1="400"
Y2="300"/>
<Line
Stroke="Black"
StrokeThickness="2"
X1="0"
X2="0"
Y1="300"
Y2="100"/>
</Canvas>
</Viewbox>
希望它有所帮助。