我需要将选定的 .svg 文件转换为 System.Drawing.Image 对象,以便我可以调整它的大小并将其另存为 .png。谁能帮我这个?
这是我到目前为止所拥有的:
Svg.SvgDocument svgDocument = SVGParser.GetSvgDocument(mPath);
image = svgDocument.Draw();
Run Code Online (Sandbox Code Playgroud)
但它给了我内存不足的错误。
您可以使用SVG Rendering Engine Lib,使用它绘制图像非常容易:
var svgDoc = SvgDocument.Open(imagePath);
using(var Image = new Bitmap(svgDoc.Draw()))
{
Image.Save(context.Response.OutputStream, ImageFormat.Png);
context.Response.ContentType = "image/png";
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.Cache.SetExpires(DateTime.Now.AddMonths(1));
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,我使用处理程序在浏览器上显示图像,但您只需更改 Save 方法的第一个参数即可轻松将其保存在某个文件夹中。
Mil*_*vic -4
所以,
SVGParser.MaximumSize = new System.Drawing.Size(4000, 4000);
svgDocument = SVGParser.GetSvgDocument(mPath);
var bitmap = svgDocument.Draw();
image = bitmap;
Run Code Online (Sandbox Code Playgroud)