在 C++ 中渲染矢量图形 (.svg)

2023-11-25

我和一个朋友正在开发一款 2D 游戏,其中图形将是 .svg 文件,我们将通过首先光栅化它们或直接将它们渲染在表面上(在某些时候仍然需要光栅化)来适当缩放它们。

问题是,我一整天都在寻找一个库,它允许我获取 .svg 文件并最终让它在 allegro 中渲染。据我所知,这将涉及将光栅化为 allegro 可以读取的某种格式,然后 allegro 可以渲染“扁平化”图像。

那么我可以使用哪些 C++ 库来获取 .SVG 文件并“展平”它以便我可以渲染它?该库显然也需要支持缩放,以便我可以缩放矢量图形然后对其进行光栅化。

我使用的是 Windows 和 Visual C++ Express 2010。

我尝试过 Cairo,但它只允许写入 .svg 文件,而不允许您读取 .svg 文件。我还研究了与 Cario 一起使用的 librsvg,但要让它在 Windows 上正常工作遇到了很多麻烦(因为它有大量的 GNOME 依赖项)。如果您有任何使这些工作(在 Windows 上)的指南,那就太好了。


The wxsvg库允许加载和操作 SVG 文件。 Qt 还有一个SVG模块.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中渲染矢量图形 (.svg) 的相关文章

随机推荐

  • 从 Active Storage 中删除所有数据?

    我想知道如何删除 Active Storage 中的所有数据甚至重置 Active Storage 有什么办法可以做到这一点吗 先感谢您 注意 我使用的是 Rails 5 2 这个问题对我提出了挑战 所以我用本地存储对我的虚拟应用程序进行了
  • 如何检查应用程序是否在flutter中最小化到后台?

    是否有一个 API 可以检查应用程序是否已最小化但尚未被杀死 因此它处于后台 我用谷歌搜索了它 也在 GitHub issues 中搜索了它 但找不到一个 这样的API存在吗 你可以加WidgetsBindingObserver混入一个或多
  • 在 Java 中实现接口时降低可见性

    我想设计类 A 实现接口 C 并降低方法 在 C 中声明 的可见性 以使其免受外部世界的影响 将类 A 中实现的接口中的方法之一设为私有 降低类 A 中的可见性 出于安全原因我必须这样做 我该怎么做 有解决方法吗 我们确实知道 默认情况下
  • 如何可靠地将 Virtual TreeView 滚动到底部?

    具有自定义节点高度的 TVirtualStringTree 对象 如何可靠地将 Virtual TreeView 滚动到底部 即滚动条到达底部 我尝试打电话tree1 FullExpand then tree1 ScrollIntoView
  • 如何将带有单元格分隔符的Python脚本转换为jupyter笔记本? [复制]

    这个问题在这里已经有答案了 我主要使用 Spyder 进行数据分析 并且对它非常满意 您可以在普通的 python 脚本中使用 Jupyter Notebooks 的单元功能 分隔各个代码单元 以及执行块 同样的事情也可能发生在 Atom
  • jQuery(几乎)相当于 PHP 的 strip_tags()

    这个函数有 jQuery 版本吗 string 条带标签 字符串 str 字符串 allowable tags 从字符串中删除所有标签及其内部内容 除了允许的标签字符串中定义的标签和内容 like var stripped strip ta
  • Powershell - 使用参数启动 Windows 服务

    我需要通过 Powershell 以 1 作为参数启动 Windows 服务 如下所示 所以基本上我想用 powershell 做这样的事情 Start Service MyService 1 lt won t work 谷歌搜索对此没有任
  • 如何知道照片是横向还是纵向模式?

    我从 iPhone iPad 库中加载照片 大部分都是纵向模式 我想知道如何查看横向或纵向模式下的照片 Use the imageOrientation的财产UIImage实例 它会返回给你其中之一these常数 例子 UIImage im
  • 如何仅获取特定行的列平均值?

    我需要获取特定行 此处 年份 的一列 此处 分数 的平均值 具体来说 我想知道三个时期的平均分数 第 1 期 年份 周期 2 年份 gt 1984 年 年份 期间 3 年份 gt 1991 这是我的数据的结构 country year sc
  • 二叉树的垂直和[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 如何求二叉树的垂直和 例如 考虑下面的二叉树 1 2 3 4 5 6 7
  • 有没有一种安全的方法可以从命令行编辑缓存变量?

    据我所知 CMake 仅附带图形缓存编辑器 但是 我需要从 shell 脚本编辑一些缓存变量 一种方法是直接编辑CMakeCache txt但这并不被认为是安全的 或者是吗 如果没有 从命令行编辑缓存变量的一般做法是什么 您可以致电cmak
  • 有谁知道一种以编程方式轻松将 PDF 转换为 docx 格式的方法

    我们有几个第三方系统可以为我们提供 PDF 我们希望在不使用 Adob e 产品的情况下转换这些 PDF 以在网络上显示 理想情况下 我们希望使用 Silverlight 来呈现 PDF 但在从 PDF 转换为 Xaml 或使用 docx
  • Android room 持久库 - 如何插入具有 List 对象字段的类

    In Android Room持久库如何将整个模型对象插入到本身有另一个列表的表中 让我告诉你我的意思 Entity tableName TABLE NAME public class CountryModel public static
  • 我可以在单个 dplyr 语句中切换分组变量吗?

    这是一个简单的例子来说明这个问题 library data table dt data table a c 1 1 2 2 b 1 2 dt c cumsum a by b d cumsum a by c a b c d 1 1 1 1 1
  • React 和 Docker - 未捕获错误:找不到模块“react-player”

    在我的反应组件的顶部 咖啡 jsx 我有这个进口 import ReactPlayer from react player 软件包 react player 已安装 位于package json and node modules 我的代码运
  • 无法使用 Mongodb 协议在 Azure DocumentDb 中创建索引

    现在我知道DocumentDb不支持唯一索引 但是为什么我不能使用createIndex 创建普通索引 在蒙戈外壳中 gt db product createIndex itemId 1 t OKMongoResponse ok 1 但集合
  • 从基类方法返回派生类型

    我有一个与此类似的类层次结构 public class Base private List
  • UWP - 通过套接字将网络摄像头流式传输到 MediaElement - 图片损坏?

    背景 我编写的代码记录来自网络摄像头的视频剪辑 将它们写入内存流 然后通过套接字连接传输数据 在该连接中数据被重新组合成视频并在媒体元素上播放 最终目标是创建一个婴儿监视器系统 服务器 摄像头在 Windows IOT Raspberry
  • 我可以使用 python 默认库集加密电子邮件并将其解密吗?

    当然 类似的问题已经在 stackoverflow 中提出 但我不想使用任何第三方库 例如 Crypto 或其他库 因此 我需要从用户电子邮件生成密文并将其解密回明文 我怎样才能在Python中做到这一点 第三方系统是您最好的选择 如果您真
  • 在 C++ 中渲染矢量图形 (.svg)

    我和一个朋友正在开发一款 2D 游戏 其中图形将是 svg 文件 我们将通过首先光栅化它们或直接将它们渲染在表面上 在某些时候仍然需要光栅化 来适当缩放它们 问题是 我一整天都在寻找一个库 它允许我获取 svg 文件并最终让它在 alleg