DashPathEffect(float intervals[], float phase)画虚线,参数的意义。

5人阅读 评论(0) 收藏 举报
分类:

最近在学习自定义View 学习到DashPathEffect画虚线的时候对第二个参数有点疑惑,这个偏移量是怎么一个偏移的方式?

带着问题看下代码 ,翻译为:偏移到区间数组中?


(第一个参数 intervals []数组,它指定了虚线的格式:数组中元素必须为偶数(>= 2 ),按照「画实线长度、画虚线长度、画实线长度……」的顺序排列)

还是有疑问,老办法上网搜啊。得到的答案是:在画虚线的时候会在起点开始画实线,接着画虚线。偏移量就是画起点的时候偏移的量,这篇博客举例很好。把画的虚线比作一个两端无限延长的绳子,绳子由实线虚线组成,偏移量就是把绳子往起始点里面拽拽。但线的总体长度是不变的。看到这个比喻已经很清楚了。

有意思的事,评论区发现有人对第一个参数提出质疑的声音啊,发现同一id对俩篇博文都提出的形同的质疑。


 竟然有质疑我们就来代码实现来验证一下。

实现效果如下(忽略渐变色的圆):

1、new DashPathEffect(new float[]{20,10},0);

图中可以看出虚线是按照 先20像素的实线再10像素的虚线来绘制的。再试一下 {10,10}是什么效果。

2、new DashPathEffect(new float[]{10,10},0);


图中可以看出虚线是按照 先10像素的实线再10像素的虚线来绘制的。这就证明参数一的解释是正确的。所以不知道提出质疑的同学 画出的是什么效果。

再画一个偏移的效果,实线长20 虚线10 偏移量10。new DashPathEffect(new float[]{20,10},10);


从图中看的出起始点的实线长度被往里面拽 10像素,偏移量的解释也是正确的。


查看评论

JSP高级编程 2

第2章预备知识2.1 Java程序设计基础J a v a是J S P的基础,要学习J S P技术,J a v a基础是必不可少的。本节将简要介绍J a v a的基本语法和概念。已经是J a v a编程...
  • coolstar
  • coolstar
  • 2001-08-15 10:13:00
  • 1795

安卓开发之使用DashPathEffect来绘制虚线

原理:主要用到了PathEffect的子类 DashPathEffect方法:给画笔Paint对象设置绘制路径时的特效:.setPathEffect效果:DashPathEffect 构造方法的参数决...
  • cxmscb
  • cxmscb
  • 2016-06-25 22:35:00
  • 5788

Android DashPathEffect的简单使用(如实线虚线)

首先看一个自定义view实现的实线效果图, 实现很简单,就是用paint与path结合使用就可以做到了,由于代码过于简单,直接贴源码 布局 ...
  • u014763302
  • u014763302
  • 2017-04-17 15:28:43
  • 1401

drawLine DashPathEffect绘制虚线变成了实线

mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);   mPaint.setStyle(Style.STROKE);   mPaint.setColor(Color....
  • sd19871122
  • sd19871122
  • 2016-01-19 17:04:25
  • 2143

DashPathEffect 画虚线无效

自定义控件是,给paint设置DashPathEffect,然而无效。后面发现是硬件加速的锅。记录下。 解决方法就是,在view层关闭硬件加速,直接在自定义View的构造方法中调用: setLaye...
  • u013597998
  • u013597998
  • 2017-04-25 11:56:14
  • 842

子模块程序

  • 2015年12月19日 10:26
  • 1.08MB
  • 下载

opengl基础,学习笔记

Opengl里的四维变换矩阵 对三维坐标做变换时常用到四维变换矩阵, 如图,红色是对x轴坐标的变换,绿色是对y轴,紫色是对z轴。最右面的(m12,m13,m14)是用于translation tr...
  • defence006
  • defence006
  • 2017-03-01 15:23:48
  • 511

ios 绘制虚线 CGContextSetLineDash的使用

画虚线需要用到函数: CGContextSetLineDash 此函数需要四个参数: context – 这个不用多说phase - 稍后再说lengths – 指明虚线是如何交...
  • zhouleizhao
  • zhouleizhao
  • 2014-08-18 09:33:38
  • 5759

计算机图形学图形的变换

/***作者:**功能:实现简单图形的二维几何变换(平移、旋转、缩放、对称、错切变换)**实验时间:2011年12月16日**指导老师:杜吉祥**/#include#include#includeus...
  • BruceBaoZhiqiang
  • BruceBaoZhiqiang
  • 2014-01-06 10:14:39
  • 860

canvas.rotate(degrees)与canvas.rotate(degrees, px, py)

canvas.save(); mPaint.setColor(Color.YELLOW); mPaint.setStyle(Style.STROKE); canvas.drawCir...
  • zgf1991
  • zgf1991
  • 2012-03-03 16:24:53
  • 7761
    个人资料
    持之以恒
    等级:
    访问量: 1310
    积分: 65
    排名: 161万+
    文章分类
    文章存档
    最新评论