Android上的Unity .SVG转换为.PNG

时间:2015-08-28 13:32:44

标签: c# android svg unity3d

我正在尝试将.svg文件转换为图像,在我的Unity程序中,在Android上呈现它:)

我找到的最佳解决方案是使用此库:https://github.com/vvvv/SVG

尽管如此,我添加了.Dll(称为" Svg")和这个小代码:

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

有了这条小线,Unity告诉我:

  

未处理的异常:System.TypeLoadException:无法加载类型   ' Svg.SvgElement'来自assembly&Svg,Version = 0.5.2.0,Culture = neutral,   公钥=空'

     

at(wrapper managed-to-native)System.MonoType:GetMethodsByName   (字符串,System.Reflection.BindingFlags,布尔,System.Type的)

     

在System.MonoType.GetMethods(BindingFlags bindingAttr)[0x00000]   in:0

     

等...

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

你有一个正确的方法在统一android上绘制我的.svg吗?

2 个答案:

答案 0 :(得分:0)

您可以使用此插件在构建时将SVG转换为PNG,因此您的应用程序仅依赖于各种密度的PNG:https://github.com/avianey/androidsvgdrawable-plugin

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

答案 1 :(得分:0)

@Loïs就我所遇到的问题而言,我认为相关资产:svg api 在Andrid上将.svg转换为.png不好,因为它依赖于System.Drawing.Commons,在Android上使用时会抛出异常。 但是,如果您能找到解决方案,我会非常感兴趣。