美文网首页
【Android】VectorDrawable介绍

【Android】VectorDrawable介绍

作者: 8c3c932b5ffd | 来源:发表于2017-03-07 23:25 被阅读35次


    今天视频处理中碰到一些简单图片的vector绘制方案
    调研结果:

    效果:

    vector paint eg.png

    优点:Vector与PNG文件相比,能极大地缩小文件占用空间;
    弱势

    1. 兼容性处理起来需要花费一些心思;
    2. 复杂图片不适合运用vector绘制,一个是初始化效率,第二个是重复使用时bitmap在GPU中会有缓存,而vector没有;
    3. 需要额外的一些辅助工具协作生成path;

    例注:

    1. 使用:
      需要在Gradle 中添加:android.defaultConfig域
    vectorDrawables.useSupportLibrary = true```
    2. XML attributes:  
    ```java
    viewportHeight \ viewportWidth```
    划分的比例大小(图片中的例子:36dp大小的图像划分成24份,Path中的坐标建立在划分后的坐标系统之上)
    `意义-->将大小与path分离`
    ***
    Path指令:
    M = moveto(M X,Y) 
    L = lineto(L X,Y) 
    H = horizontal lineto(H X)
    V = vertical lineto(V Y)
    C = curveto(C X1,Y1,X2,Y2,ENDX,ENDY):三次贝赛曲线
    S = smooth curveto(S X2,Y2,ENDX,ENDY)
    Q = quadratic Belzier curve(Q X,Y,ENDX,ENDY):二次贝赛曲线
    T = smooth quadratic Belzier curveto(T ENDX,ENDY):映射
    A = elliptical Arc(A RX,RY,XROTATION,FLAG1,FLAG2,X,Y):弧线
    Z = closepath()
    ***
    工具:
    [to vector](http://inloop.github.io/svg2android/)
    [SVG editor](http://editor.method.ac/)
    
    
    ***
    
    
    >参考:(涵盖由头、Vector语法、转换工具、原理、兼容处理、性能考量等方面知识,良心之作)
    [Android Vector曲折的兼容之路](http://www.jianshu.com/p/e3614e7abc03)
    
    ***
    关注公众号“夕识”,雕刻时光,雕刻思维
    ![](https://img.haomeiwen.com/i1481332/c461a8ddbf8cf08e.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    相关文章

      网友评论

          本文标题:【Android】VectorDrawable介绍

          本文链接:https://www.haomeiwen.com/subject/njpvgttx.html