如何画虚线
来源:互联网 发布:上传淘宝图片不清楚 编辑:程序博客网 时间:2024/04/28 01:19
System.Windows.Shapes.Line 类提供了创建图形“线”的构造方式。默认情况下是实线,如何构造虚线呢?
下面是动态创建虚线的代码:
var canvas = new Canvas { Height = _height + _top + _top, Width = AppInfo.DesignWidth - _left - _left };
var line = new Line() //虚线
{
Stroke = new SolidColorBrush(Colors.Black),
StrokeThickness = 1,
StrokeDashCap = PenLineCap.Flat,
StrokeDashOffset = 6,
StrokeDashArray = {0.25, 1.0, 0.75, 1.0}, //{5.0, 2.0, 3.0, 2.0},
X1 = 0,
X2 = canvas.Width,
Y1 = 6,
Y2 = 6
};
Canvas.SetLeft(line, 0);
Canvas.SetTop(line, canvas.Height - _top);
canvas.Children.Add(line);
解释一下这几个参数的意思:
StrokeThickness : 笔画轮廓的宽度,即线宽。
StrokeDashArray : 虚线样式受到StrokeDashArray 影响。这些值用于勾勒形状轮廓的虚线和间隙样式。
StrokeDashArray 参数采用 S[,G][,S*,G**]* 的形式,其中:
S:笔画的长度的值;G:间隙的长度的值。如果忽略了G,则间隙长度与前一个笔画长度相同。
如:如果线宽=1的话,“2”表示2个像素的实线和2个像素的空白组成的虚线。 “3,2”表示3个像素的实线和2个像素的空白组成的虚线。
“2,2,3,2”表示 2个像素的实线和2个像素的空白 + 3个像素的实线和2个像素的空白 (如此反复)组成的虚线。
要注意到实际实线和空白间隔像素还受线宽的影响。
X1 Y1 X2 Y2:起点点(X1,Y1),终点点(X2,Y2),可以是水平、垂直或者是斜线。这里Y1=Y2=6是水平线,并且有6个像素的相对高度。即:
Line在Canvas中的实际高度是:canvas.Height - _top + Y1。
使用xaml:
<Line Height="60" HorizontalAlignment="Left" Margin="0,356,0,0" Name="line1" Stroke="Black" StrokeThickness="3" VerticalAlignment="Top" Width="468"
X1="0" Y1="50" X2="480" Y2="10" StrokeDashCap="Round" StrokeDashArray="4" />
效果:
- 如何画虚线
- OpenGL如何画虚线
- silverlight中如何画虚线 .
- Android下如何画虚线
- IOS 如何实现画虚线
- Altium Designer如何画虚线
- 【html5】HTML5中canvas如何画虚线
- 论如何画好一条虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- 画虚线
- .NET与设计模式
- ruby读书笔记
- 生活应该逆流而上
- 设计模式大集锦
- Android滑屏 mScrollX mScrollY scrollTo() scrollBy()
- 如何画虚线
- Wince应用程序开机自启动的注册表设置
- FLEX做的网站
- UIMenuController
- UIPickerView选取器详解
- FLEX中应用itemRenderer调用父页面的办法应用关键字outerDocument
- Ubuntu10.10下安装Qt环境及Qt Creator开发工具
- 经过一天带半天的学习和错误调试, 重新对协议驱动的认识
- Shell脚本 字符串大小比较 字符串是否相等比较 字符串是否为空判断