SVG 到 Android 形状
我想知道 Android 中使用 Shape
类进行矢量绘图可能与另一个矢量绘图标准相似。
由于 Shape
是一个 Drawable
,并且 Drawable 通常定义为 XML,因此听起来很像 SVG 中的矢量绘图命令。
我的问题是:是否有人创建了 XSLT 转换或其他机制,用于将 SVG 绘图描述转换为 Android Shapes?
I'm wondering how vector drawing in Android with the Shape
class may resemble another vector drawing standard.
Since Shape
is a Drawable
, and Drawables are usually defined as XML, it sounds a lot like the vector drawing commands in SVG.
My question is this: Has anybody created an XSLT transformation, or other mechanism, for converting an SVG drawing description into Android Shapes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
另一个非 GPL 库(这是 Apache License 2.0),用于 Google 的 Androidify 应用程序: svg-android
https://github.com/pents90/svg-android
Another non-GPL'd library (this one is Apache License 2.0), the one used in Google's Androidify app: svg-android
https://github.com/pents90/svg-android
嗯,不完全是。但我确实将 libsvg 移植到了 android,这使您能够加载 SVG 文件并将它们绘制到 Canvas 上。
请查看:
https://launchpad.net/libsvg-android
Well, not exactly. But I do have ported libsvg to android, which enables you to load SVG files and plot them to a Canvas.
Please check out:
https://launchpad.net/libsvg-android
我能找到的最接近的是 svg4mobile。
虽然我不相信它会转换为 Drawables XML,但它确实会读取 svg 并对 Drawable 类进行适当的调用。
The closest thing that I could find was svg4mobile.
While I don't believe that it does transformations to Drawables XML, it does read the svg and make the appropriate calls to the Drawable classes.
除了提到的 2 个 GPL 库之外,还有一个名为 TinyLine 的商业库,它实现了 SVG Tiny 子集,尽管它更多如果您想创建非 GPL 应用程序,limited 可能是更好的许可选择。
Besides the 2 GPL libraries mentioned, there is a commercial library called TinyLine that implements the SVG Tiny subset, which although more limited may be a better licensing choice, if you want to create a non-GPL'd application.
目前包括我在内的一些人正在独立从事这方面的工作。
您可以在这些文章中找到可行的解决方案:
Android。支持 SVG 的 ImageView。
支持 SVG 的 Android ImageView 和 Drawable
Currently some people including me work on it independently.
You may find working solution in these articles:
Android. ImageView with SVG Support.
Android ImageView and Drawable with SVG support
伟大的 AndEngine 有一个扩展,可以加载 SVG 并将其光栅化到任何分辨率的纹理中,并具有颜色替换和其他出色的功能。确实有效。例如,您可以尝试引擎作者的免费游戏。
注意:该引擎最适合全屏 2D 游戏,并且基于 OpenGL 2 视图。 LGPL
The great AndEngine has an extension for loading SVG and rasterizing it into the texture with any resolution, with color replacement and other great features. Really works. For example you can try a free game by engine author.
Note: The engine best suited for full-screen 2D games and is based on OpenGL 2 view. LGPL