如何在 OpenVG 上下文中导入 SVG?

问题描述 投票:0回答:4

我有一个使用 OpenVG 来显示矢量动画的 C 程序。所有的对象都是通过一次又一次地编写 VG 函数来创建的...我与一位艺术家合作,他可以为我提供矢量图片的 SVG 文件。所以我的目标是在我的 OpenVG 上下文中显示这些 SVG,但我找不到任何方法。

首先我使用 SVGconv(http://svgconv.blasiussecundus.me),但他的创建者告诉我,它从 10 年来就不支持了......

也许重要的细节:程序在 RaspberryPi 上运行。

在我看来,有解决方案:1)VG中有一个函数可以导入SVG,但我错过了它 2)有效的解析器在网络上的某个地方......

你的意见是什么?

谢谢你

c svg openvg
4个回答
1
投票

http://www.khronos.org/openvg/ 上,您会看到提到 OpenVG 支持“SVG”和“Flash”,这只是为了营销,没有特定于“SVG”或“Flash”的特殊功能“在 OpenVG 中。

这里指的是通过“路径渲染”支持SVG和Flash。

示例:

<path d="M300,200 h-150 a150,150 0 1,0 150,-150 z"
    fill="red" stroke="blue" stroke-width="5" />

enter image description here

对于 SVG 中的形状之类的东西...

示例:

<rect x="1" y="1" width="1198" height="398"
    fill="none" stroke="blue" stroke-width="1" />

OpenVG中有一些特殊的函数可以绘制矩形等。

但是 OpenVG 的核心是“路径渲染、剪切、着色器……”,要在 OpenVG 中支持 SVG,您只需要一个 XML 解析库。


0
投票

您尝试过这个工具来进行转换吗? http://svgconv.sourceforge.net/


0
投票

1)不存在显示 svg 的函数。 OpenVG的级别比OpenGL高,但它仍然是低级库(全局函数,主要参数的设置主要通过这些函数,创建上下文的过程比较困难等)。

2)“有效的解析器位于网络上的某个地方” - 大量的解析器,但我还没有看到任何具有完整 svg 支持的解析器。所以无论如何你需要了解底层图形编程的知识。通过例如 cocos2d 编写您的代码可能会容易得多。


0
投票

MonkSVG (https://github.com/micahpearlman/MonkSVG) 可以解析 SVG 图像并将其渲染到 MonkVG (https://github.com/micahpearlman/MonkVG),这是一个 OpenCV like 库最好模拟 OpenCV 功能。 MonkSVG 应该能够相当容易地适应“真正的 OpenCV”。

© www.soinside.com 2019 - 2024. All rights reserved.