Unity在Android上.svg到.png的转换

本文关键字:png 转换 svg Android Unity | 更新日期: 2023-09-27 18:10:25

我试图在运行时将.svg文件转换为光栅图像(.png),以在我的Unity程序中渲染它,在Android上:)

我发现最好的解决方案是使用这个lib

虽然,我添加了.Dll(称为"Svg")和这个小代码:

Svg.SvgDocument doc = Svg.SvgDocument.Open(filename);

通过这一行,Unity告诉我:

Unhandled Exception: System。typeloadeexception:无法加载类型Svg。SvgElement' from assembly 'Svg,版本=0.5.2.0,文化=中性都空的。

at (wrapper managed-to-native) System。单型:GetMethodsByName(字符串、System.Reflection.BindingFlags bool System.Type)

at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000]In:0

等等……

我猜这是一个DLL使用/导入问题?我真的不习惯在Unity中使用DLL/插件…我在这里问这个问题,因为我在网上没有找到任何东西:/

你有一个适当的方式来绘制我的。svg在unity android?

Unity在Android上.svg到.png的转换

你可以使用这个插件在构建时将SVG转换为PNG,这样你的应用程序只依赖于不同密度的PNG: https://github.com/avianey/androidsvgdrawable-plugin

它与gradle构建系统(以及maven)集成

@Loïs就我所遇到的这个问题而言,我认为链接的资产:svg api在android上将。svg转换为。png是不好的,因为它依赖于System.Drawing.Commons,在android上使用时会抛出异常。但我很感兴趣的是,如果你能找到一个解决这个问题的方法。