【问题标题】:What is the meaning of these characters 'M','L','c','h','z' in Android vector fileAndroid矢量文件中这些字符'M','L','c','h','z'是什么意思
【发布时间】:2017-10-24 15:56:22
【问题描述】:

我使用 android studio 将 .svg 文件导入矢量可绘制文件,然后 IDE 在文件夹:res/drawable 中创建了一个 xml 文件。
我认为android会绘制像Canvas.drawPath这样的可绘制文件。而 android:pathData 的值几乎就是路径的点。但我不知道值的含义是什么。
我客人:

M : 移动到 L : 线到

这些字符在Android向量中的含义是什么:

<path
            android:fillColor="#FF000000"
            android:pathData="M11,9h2L13,6h3L16,4h-3L13,1h-2v3L8,4v2h3v3zM7,
18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM17,18c-1.1,
0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,
-2zM7.17,14.75l0.03,-0.12 0.9,-1.63h7.45c0.75,0 1.41,-0.41 1.75,-1.03l3.86,
-7.01L19.42,4h-0.01l-1.1,2 -2.76,5L8.53,11l-0.13,-0.27L6.16,6l-0.95,-2 -0.94,
-2L1,2v2h2l3.6,7.59 -1.35,2.45c-0.16,0.28 -0.25,0.61 -0.25,0.96 0,1.1 0.9,
2 2,2h12v-2L7.42,15c-0.13,0 -0.25,-0.11 -0.25,-0.25z"/>

【问题讨论】:

标签: android


【解决方案1】:

下面是vector drawable参数绘制路径的基本理解:

M or m (X,Y)+

moveto: 将光标移动到某个位置,大写是绝对的,小写是相对的 moveto 命令后跟 X,Y 坐标。 M 命令后面可以有不止一组坐标,这些被视为隐式 lineto 命令。

Z or z

closepath: 从光标的当前位置到路径的开始位置画一条线。没有任何参数。

L or l (X,Y)+

lineto: 从当前位置到 X,Y 指定的位置画一条线。大写表示绝对坐标,小写表示相对坐标。在 lineto 命令之后,您可以拥有多组坐标。如果您想指定多组坐标,则意味着您正在创建一条折线(由多条字符串线组成的形状)。

H or h (X)+

Horizo​​ntal lineto从当前光标位置到X指定的位置绘制一条水平线。如果该命令后面有多个X坐标,则将其视为多段线。 Y 坐标保持不变。大写H为绝对坐标,小写h为相对坐标。

V or v (Y)+

Vertical lineto 从当前光标位置到 Y 指定的位置绘制一条垂直线。如果该命令后面有多个 Y 坐标,则将其视为折线。 X 坐标保持不变。大写V为绝对坐标,小写v为相对坐标。

参考: https://medium.com/@ali.muzaffar/understanding-vectordrawable-pathdata-commands-in-android-d56a6054610e

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 2011-09-17
    • 2010-12-03
    • 1970-01-01
    • 2010-09-22
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多