Я использую приведенный ниже код для преобразования строки SVG (svgString) в растровое изображение (myBitmap).В идеале, я хочу избежать поездки на жесткий диск.Считаете ли вы, что это возможно (не нашел много документации SVG пакет nuget).Кстати, я знаю, что могу также записать bmp на жесткий диск, но я выбрал png, поскольку фон bmp по какой-то причине всегда черный.
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using Svg;
namespace Bla
{
class Program
{
static void Main(string[] args)
{
var svgPath = @"d:\test.svg";
var pngPath = @"d:\test.png";
var svgString = @"
<!DOCTYPE html>
<html>
<body>
<svg height='200' width='500'>
<polyline points='20,20 40,25 60,40 80,120 120,140 200,180' style='fill:none;stroke:black;stroke-width:3' />
Sorry, your browser does not support inline SVG.
</svg>
</body>
</html>
";
File.WriteAllText(svgPath, svgString);
var svgDocument = SvgDocument.Open(svgPath);
svgDocument.ShapeRendering = SvgShapeRendering.Auto;
var bmp = svgDocument.Draw();
bmp.Save(pngPath, ImageFormat.Png);
var myBitmap = new Bitmap(pngPath);
}
}
}