Dan*_*Lew 33 android vector-graphics
我正在开发一个显示其他人的图像数据库的应用程序.他们拥有的图像都是矢量图形,可以转换为任何格式,但是将它们保存为矢量格式是好的,因为用户可能想要放大.
问题是,是否有一种在Android中显示矢量图形的内置方法?格式无关紧要 - 我们可以转换.我们正在考虑的当前格式是PDF,但鉴于没有本机PDF支持,我必须做一些非常复杂的事情才能使其正常工作(例如,通过NDK 将poppler集成到我的应用程序中).另一种方法是将矢量图形转换为更简单的格式(JPG,GIF),但我宁愿避免这种情况.
Mat*_*all 21
看看svg-android - 它是一个相对较新的库,它只支持SVG Basic,但它是用于绘制Androidify的库.主页上有关于如何从SVG获取Drawable的示例,它们正是您正在寻找的.
我知道这个问题很老,但我遇到了同样的要求,我很高兴得知Android 5.0现在支持矢量绘图.您可以使用<vector>标记和路径数据来创建矢量绘图,它就像API-21上的魅力一样.这是一个产生心脏形状的矢量图像的例子.
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
到目前为止我遇到的唯一问题是,它不包含在支持库中,因此您无法在较低的API中使用它们.美妙的是,你现在甚至可以为矢量绘图制作动画.这是一个例子.
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
了解更多关于矢量绘制动画这里.
| 归档时间: |
|
| 查看次数: |
33369 次 |
| 最近记录: |