C# 如何编写没有ViewBox参数的可伸缩SVG?

C# 如何编写没有ViewBox参数的可伸缩SVG?,c#,css,wpf,xaml,svg,C#,Css,Wpf,Xaml,Svg,我使用的C#库不支持SVG文件中的viewBox参数,但如果没有它,我的图像会被截断,因为它们无法正确缩放,详情如下 我正在使用xamarin表单平台和nuget插件(在XAML和C#中)编写一个移动应用程序。该插件对SVG的支持非常有限,因此我不得不手动更改SVG文件。生成时,Google+图像具有以下第一个标记,但是,当我使用此文件时,会收到以下错误消息: <svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000

我使用的C#库不支持SVG文件中的
viewBox
参数,但如果没有它,我的图像会被截断,因为它们无法正确缩放,详情如下

我正在使用xamarin表单平台和nuget插件(在XAML和C#中)编写一个移动应用程序。该插件对SVG的支持非常有限,因此我不得不手动更改SVG文件。生成时,Google+图像具有以下第一个标记,但是,当我使用此文件时,会收到以下错误消息:

<svg id="Capa_1" data-name="Capa 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><title>Google_Round</title><
Google\u Round<
System.Exception:上下文创建的参数无效 在/Users/builder/data/lanes/2377/73229919/source/maccore/src/CoreGraphics/CGContext.cs:161中的CoreGraphics.CGContext.set_句柄(IntPtr值)[0x00010] 在/Users/builder/data/lanes/2377/73229919/source/maccore/src/CoreGraphics/CGContext.cs:141中的CoreGraphics.CGContext..ctor(IntPtr handle,Boolean owns)[0x00006]处 在CoreGraphics.CGBitmapContext..ctor(IntPtr数据、nint宽度、nint高度、nint bitsPerComponent、nint bytesPerRow、CoreGraphics.CGColorSpace颜色空间、CGImageAlphaInfo bitmapInfo)[0x00000]in/Users/builder/data/lanes/2377/73229919/source/maccore/src/CoreGraphics/CGBitmapContext.cs:62 位于NGraphics.iOS.Custom.ApplePlatform.CreateImageCanvas(大小、双刻度、布尔透明度)[0x0005c]英寸:0 在SVG.Forms.Plugin.iOS.svgimagerender.OnElementChanged(Xamarin.Forms.Platform.iOS.ElementChangedEventArgs`1 e)[0x0010f]中:0

如果我将第一个标记更改为已知workign示例中第一个标记的副本,那么我有以下SVG文件

<?xml version="1.0"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" height="300" width="300" version="1.1" fill-opacity="0"> xml:space="preserve">
        <path fill="#54534A" d="M2204.344,4414.691v-122.67h81.643h81.642l-1.237,6.804c-0.619,3.505-1.649,10.515-2.474,15.462l-1.443,8.659
            h-61.438h-61.644v38.141v38.141h54.635h54.635v16.493v16.494h-54.635h-54.635v36.079v36.08h60.613h60.407l1.443,10.515
            c0.825,5.979,2.062,13.401,2.68,16.493l1.237,5.979h-80.818h-80.612V4414.691z"/>
    <!-- Various Strokes omitted -->
    </g>
    </svg>

xml:space=“preserve”>
这给了我一个完整的G+图标的如下显示。我想这是因为我丢失了文件中的
viewBox
信息。我还可以如何包含这些信息以确保svg能够适当扩展,而不会导致插件失败?

我怀疑第一个文件出现的问题是因为它没有指定
宽度
高度
。如果你加上

 width="512" height="512"

指向该文件中的
标记。这有区别吗?

我怀疑第一个文件的问题是因为它没有指定
宽度
高度。如果将
width=“512”height=“512”
添加到该文件中的
标记,会发生什么情况。这有什么不同吗?@PaulLeBeau非常感谢-这就解决了!如果你贴出答案,我会弄脏它。