将svg转换为png丢失的填充图案图像

时间:2016-09-19 13:13:53

标签: javascript c# svg export png

我正在生成一个动态填充图像作为模式的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);
}

有人可以帮忙吗?

0 个答案:

没有答案