我正在生成一个动态填充图像作为模式的svg。当我将它导出到png时,我得到一个没有任何填充图像的空白svg。我尝试过javascript以及c#代码。 Javascript代码:
var svg = document.querySelector('#element3 svg');
var data1 = (new XMLSerializer()).serializeToString(svg);
var encodedData = window.btoa(data1);
var data = 'data:image/svg+xml;base64,' + encodedData;
image.src = data;
$('[id$=objimage]').attr('data', data);
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
var a = document.createElement('a');
a.download = "image.png";
a.href = canvas.toDataURL('image/png');
document.body.appendChild(a);
a.click();
C#代码:
var byteArray = Encoding.ASCII.GetBytes(input.ImageData);
using (var stream = new MemoryStream(byteArray))
{
var svgDocument = SvgDocument.Open(stream);
var bitmap = svgDocument.Draw();
bitmap.Save(HttpContext.Current.Server.MapPath("~/Images/Pattern/UserPattern/testimg.png"), ImageFormat.Png);
}
有人可以帮忙吗?