积极答复者
如何实现扇形的绘制

问题
答案
-
你好,我这里还有一些办法可以画扇形。
具体可以这么做,首先在Blend里面画如下图形,一个圆和一个长方形,同时选中他们之后合并->相减,就可以出一个半圆:
选择合并->相减,得到一个半圆。之后重复同样的动作,之后仅仅把长方形做一个旋转,再进行相减,就可以得到你想要的扇形。
--James
<THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
Thanks
MSDN Community Support
Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.- 已标记为答案 MyCMy 2014年7月1日 5:39
-
你好。
Windows Store 应用中的扇形绘制可以采用Polygon (NameSpace:Windows.UI.Xaml.Shapes;)来进行模拟。
比如我要绘制一个90度的扇形,半径为100像素:
Polygon p = new Polygon(); p.Fill = new SolidColorBrush(Colors.Red); p.Points.Add(new Point(100, 100)); for (int i = 0; i < 90; i++) { Point point = new Point() { X = 100 + Math.Sin(i * Math.PI / 180.0) * 100, Y = 100 + Math.Cos(i * Math.PI / 180.0) * 100, }; p.Points.Add(point); } p.Points.Add(new Point(100, 100)); root.Children.Add(p);
这样我利用90个点,加上两个相同的端点(Polygon要求Points为封闭集合),完成了扇形的模拟。
以下是效果图:
- 已标记为答案 MyCMy 2014年6月30日 1:33
全部回复
-
你好,使用Path类也不行么?
--James
<THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
Thanks
MSDN Community Support
Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later. -
你好。
Windows Store 应用中的扇形绘制可以采用Polygon (NameSpace:Windows.UI.Xaml.Shapes;)来进行模拟。
比如我要绘制一个90度的扇形,半径为100像素:
Polygon p = new Polygon(); p.Fill = new SolidColorBrush(Colors.Red); p.Points.Add(new Point(100, 100)); for (int i = 0; i < 90; i++) { Point point = new Point() { X = 100 + Math.Sin(i * Math.PI / 180.0) * 100, Y = 100 + Math.Cos(i * Math.PI / 180.0) * 100, }; p.Points.Add(point); } p.Points.Add(new Point(100, 100)); root.Children.Add(p);
这样我利用90个点,加上两个相同的端点(Polygon要求Points为封闭集合),完成了扇形的模拟。
以下是效果图:
- 已标记为答案 MyCMy 2014年6月30日 1:33
-
你好,我这里还有一些办法可以画扇形。
具体可以这么做,首先在Blend里面画如下图形,一个圆和一个长方形,同时选中他们之后合并->相减,就可以出一个半圆:
选择合并->相减,得到一个半圆。之后重复同样的动作,之后仅仅把长方形做一个旋转,再进行相减,就可以得到你想要的扇形。
--James
<THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
Thanks
MSDN Community Support
Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.- 已标记为答案 MyCMy 2014年7月1日 5:39
-
这样可以得出一个用XAML Path来表示的扇形:
<Path Data="M100,0 C136.243,-1E-05 167.984,19.2815 185.523,48.1463 L186.592,50.0061 L100,100 L0,100 C3E-06,44.7715 44.7715,-1.1E-05 100,0 z" Fill="#FFF4F4F5" Margin="583,284,596.408,384" Stretch="Fill" UseLayoutRounding="False"/>
效果如下:
当然你可以后台加载这个图形,通过XamlReader class 这个类可以帮助加载XAML。
--James
<THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
Thanks
MSDN Community Support
Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.