将SVG中的小写字母更改为大写字母

将SVG中的小写字母更改为大写字母,svg,Svg,我正在开发一个图形应用程序,其中我只能使用圆弧、直线、三次和二次bézier。我有一个SVG文件,虽然有点长,但我只是构建了前几个path元素来查看输出。我编写了一个小应用程序,将小写字母替换为大写字母,并生成了一个简单的SVG文件,其中包含大写字母,并且只包含四个SVG命令。我创建了两个带有原始for的路径,第二个带有修改版本的路径以确认我的输出。除小写字母“m”外,一切似乎都正常。结果不正确。我不太清楚。任何帮助都应该非常感激。我犯了什么错误?要查看转换后的版本,您必须取消对发送路径的注释,


我正在开发一个图形应用程序,其中我只能使用圆弧、直线、三次和二次bézier。我有一个SVG文件,虽然有点长,但我只是构建了前几个path元素来查看输出。我编写了一个小应用程序,将小写字母替换为大写字母,并生成了一个简单的SVG文件,其中包含大写字母,并且只包含四个SVG命令。我创建了两个带有原始for的路径,第二个带有修改版本的路径以确认我的输出。除小写字母“m”外,一切似乎都正常。结果不正确。我不太清楚。任何帮助都应该非常感激。我犯了什么错误?要查看转换后的版本,您必须取消对发送路径的注释,SVG存在一些问题

  • 您的路径由11个子路径组成。每个子路径形成一个非常薄的水平矩形。例如,查看第一个子路径:

    M 21.52184.48,H 91.11,v-.07,H21.54,l 0,.07 Z

    这是一个91像素宽,0.07像素高的矩形。一个7/100像素高的矩形最多只能非常微弱。它在Firefox中是可见的,但Chrome似乎出于某种原因完全剔除了它

  • 您的
    填充
    无效

    fill="New_Gradient_35" 
    
    应该是:

    fill="url(#New_Gradient_35)" 
    
  • 您的路径定义无效。路径命令字母前不应有逗号

    M21.52,184.48,H91.11,v-.07,H21.54,l0,.07Z,
    
    应该是

    M21.52,184.48H91.11v-.07H21.54l0,.07Z
    
    铬有点宽容。它将允许在坐标值后使用逗号,但在路径命令后不允许使用逗号。所以它不介意:

    M21.52,184.48,H91.11,v-.07,H21.54,l0,.07Z
    
    但是它不喜欢
    Z
    M
    之间的逗号:

    M21.52,184.48,H91.11,v-.07,H21.54,l0,.07Z,
    M ...etc...
    
    Firefox不接受任何逗号

  • 您正在指定
    笔划
    颜色,但
    笔划宽度
    “0”
    ,因此不会绘制笔划。但也许这是故意的

  • 如果您解决了这些问题,您将获得更成功的结果。我不确定这是否是你所期待的。在我看来,它不像一个字母“m”

    
    测试一
    
    大家好,欢迎来到Stackoverflow!我建议你在这里走捷径(并赢得你的第一枚徽章)。此外,为了提高获得有用答案的机会,请检查,以及如何创建。路径无效(注释掉的路径也是无效的)。两个数字之间只允许使用逗号,因此Z、M和Z、M都无效。Safari和Firefox都在他们的开发工具中记录解析错误。我刚刚意识到Firefox有严格的语法规则。现在我已经根据Firefox语法进行了修改,它可以很好地与浏览器配合使用。我就是不明白我怎么能把相对('m')命令转换成绝对('m')命令。我已经创建了两个相同的路径,其中绿色路径应该覆盖黑色,但事实并非如此。SVG编译器如何呈现相对路径。非常感谢你的帮助。这是一个不同的话题,你应该问一个新问题。