我正在将svg图像转换为png格式。我从网址获取图片。我得到例外Parameter is not valid
。以下是我的代码:
string svgFileName = "https://upload.wikimedia.org/wikipedia/commons/e/ed/Chicago_Cubs_Logo.svg";
using (WebClient webClient = new WebClient())
{
byte[] data = webClient.DownloadData(svgFileName);
ImageConverter imageConverter = new System.Drawing.ImageConverter();
Image image = imageConverter.ConvertFrom(data) as Image;
image.Save("c:\\hello", ImageFormat.Png);
}
我收到以下异常:
以下是我的StackTrace:
at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)
at System.Drawing.ImageConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
at System.ComponentModel.TypeConverter.ConvertFrom(Object value)
我错过了什么?
答案 0 :(得分:2)
SVG文件不是普通图像,您需要将svg下载为文件而不是图像。
string svgFileName = "https://upload.wikimedia.org/wikipedia/commons/e/ed/Chicago_Cubs_Logo.svg";
using (WebClient webClient = new WebClient())
{
webClient.DownloadFile(svgFileName, "hello.svg");
}
下载文件后,您需要将此svg文件转换为图像,为此您可以使用SVG Nuget Gallery。
您可以访问此链接进行svg文件转换。 https://stackoverflow.com/a/58912/2745294 https://stackoverflow.com/a/12884409/2745294