博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
polyLine画折返线时绘图出头的问题
阅读量:4948 次
发布时间:2019-06-11

本文共 1125 字,大约阅读时间需要 3 分钟。

---恢复内容开始---

用polyline画线的时候需要折返几次,结果出现了以下问题:

  

显然,线宽越大,露头越多,代码如下:

// xaml里面加个mainCanvas就行了        private void Window_Loaded(object sender, RoutedEventArgs e)        {            Polyline polyLine = new Polyline() {                Stroke = new SolidColorBrush(Colors.Black),                StrokeThickness = 6,//线宽            };            polyLine.Points.Add(new Point(0,0));//正方形咯            polyLine.Points.Add(new Point(100, 0));            polyLine.Points.Add(new Point(100, 100));            polyLine.Points.Add(new Point(0, 100));            polyLine.Points.Add(new Point(0, 0));//end            polyLine.Points.Add(new Point(100, 0));//折返            polyLine.Points.Add(new Point(0, 0));            Canvas.SetLeft(polyLine,100);            Canvas.SetTop(polyLine, 100);            mainCanvas.Children.Add(polyLine);        }
一开始以为是StrokeStartLineCap和StrokeEndLineCap的问题,就设置了一下,结果毫无反应。 注意到,有个StrokeMiterLimit属性,查了下,msdn的解释是这样的:(抱歉我是没看懂,机翻水平始终是那么低)

备注里面解释了原因:

通俗地说就是两个直线如果形成锐角就会露头,测试一下:

 

看不出来。。。

加宽线粗在看一下:

验证成功。

so...结论就是:小于90度时,加个StrokeMiterLimit = 1.0;//最小就是1.0了,就可以不露头了。

转载于:https://www.cnblogs.com/sczhi/p/4439185.html

你可能感兴趣的文章
oracle 使用leading, use_nl, rownum调优
查看>>
客户数据库出现大量cache buffer chains latch
查看>>
Linux文件权限
查看>>
機械の総合病院 [MISSION LEVEL: C]
查看>>
Delphi通用的序列化代码
查看>>
Educational Codeforces Round 6 D. Professor GukiZ and Two Arrays 二分
查看>>
设计模式:职责链模式(Chain Of Responsibility)
查看>>
stm32f429i disc usb cdc vcp 虚拟串口 example project (CubeMX Hal)
查看>>
Robust PCA via Outlier Pursuit
查看>>
实战练习细节(分行/拼接字符串/字符串转int/weak和copy)
查看>>
wddm 部署问题解决
查看>>
Strict Standards: Only variables should be passed by reference
查看>>
Slab-based Intersection
查看>>
将输入流转为字符串工具类
查看>>
hiho_offer收割18_题解报告_差第四题
查看>>
高斯消元
查看>>
AngularJs表单验证
查看>>
regasm.exe 注册dll
查看>>
什么是死锁,简述死锁发生的四个必要条件,如何避免与预防死锁
查看>>
静态方法是否属于线程安全
查看>>