首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的矢量图形

Android中的矢量图形
EN

Stack Overflow用户
提问于 2010-10-25 22:44:06
回答 6查看 34.3K关注 0票数 33

我正在开发一个应用程序,它可以显示其他人的图像数据库。他们拥有的图像都是矢量图形,可以转换为任何格式,但是保持矢量格式是很好的,因为用户可能想要近距离放大。

问题是,在Android中有没有内置的方式来显示矢量图形?格式无关紧要-我们可以进行转换。我们正在考虑的当前格式是PDF,但考虑到没有原生PDF支持,我必须做一些非常复杂的事情才能让它工作(例如,通过NDK将poppler集成到我的应用程序中)。另一种选择是将矢量图形转换为更简单的格式(JPG,GIF),但我宁愿避免这种情况。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-06-01 22:06:34

查看svg-android -它是一个相对较新的库,它只支持SVG Basic,但它是用于绘制Androidify的库。主页上有一些关于如何从SVG中获取可绘制图形的示例,这似乎就是您正在寻找的。

票数 21
EN

Stack Overflow用户

发布于 2014-11-05 11:22:35

我知道这个问题很老了,但我遇到了同样的要求,我很高兴地了解到Android 5.0现在支持矢量绘图。您可以使用API和路径数据来创建向量绘图,它在<vector> -21上的工作方式非常出色。下面是一个生成心形矢量图像的示例。

代码语言:javascript
复制
<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="256dp"
    android:width="256dp"
    android:viewportWidth="32"
    android:viewportHeight="32">

    <!-- draw a path -->
    <path android:fillColor="#8fff"
        android:pathData="M20.5,9.5
                    c-1.955,0,-3.83,1.268,-4.5,3
                    c-0.67,-1.732,-2.547,-3,-4.5,-3
                    C8.957,9.5,7,11.432,7,14
                    c0,3.53,3.793,6.257,9,11.5
                    c5.207,-5.242,9,-7.97,9,-11.5
                    C25,11.432,23.043,9.5,20.5,9.5z" />
</vector>

到目前为止,我面临的唯一问题是,它没有包含在支持库中,因此您不能在较低的API中使用它们。奇妙的是,你现在甚至可以对矢量绘图进行动画处理了。下面是一个例子。

代码语言:javascript
复制
<!-- res/drawable/vectordrawable.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:height="64dp"
    android:width="64dp"
    android:viewportHeight="600"
    android:viewportWidth="600">
    <group
        android:name="rotationGroup"
        android:pivotX="300.0"
        android:pivotY="300.0"
        android:rotation="45.0" >
        <path
            android:name="v"
            android:fillColor="#000000"
            android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
    </group>
</vector>

阅读有关矢量可绘制动画here的更多信息。

票数 7
EN

Stack Overflow用户

发布于 2010-10-25 22:48:43

TinyLive SVG为Android提供了一个SVG查看器。我没有试过,所以我不知道它是好是坏。

Reading this bug request似乎可以在浏览器中启用SVG,因此在姜饼中可能也启用了WebView。但由于这可能是未来版本中的一个功能,所以现在可能对您没有太大帮助。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4015680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档