После того, как мой метод конвертирует код SVG в PNG, он рисует линии внутри квадрата.Первоначально они были просто квадратными границами.
private void svgToPng(int itemId)
{
// Load created svg file
XmlDocument doc = new XmlDocument();
doc.Load("...\\lastCreated.svg");
XmlReader svgSrc = new XmlNodeReader(doc);
string svgSaveAs = "...\\lastCreated.png";
var quality = 100;
var svg = new SkiaSharp.Extended.Svg.SKSvg();
var pict = svg.Load(svgSrc);
var dimen = new SkiaSharp.SKSizeI
(
(int) Math.Ceiling(pict.CullRect.Width),
(int) Math.Ceiling(pict.CullRect.Height)
);
var matrix = SKMatrix.MakeScale(1, 1);
var img = SKImage.FromPicture(pict, dimen, matrix);
// Convert to PNG
var skdata = img.Encode(SkiaSharp.SKEncodedImageFormat.Png, quality);
using(var stream = System.IO.File.OpenWrite(svgSaveAs))
{
skdata.SaveTo(stream);
}
// Upload image
uploadImage("...\\lastCreated.png", itemId);
}
Вот изображения
Хорошо:
Плохо:
Лучший способ - использовать Inkscape через Process.Даже не пытайтесь использовать библиотеки, все они имеют ошибки.