首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用canvg从svg转换而来的画布上渲染的图像模糊

使用canvg从svg转换而来的画布上渲染的图像模糊
EN

Stack Overflow用户
提问于 2015-01-08 14:58:47
回答 1查看 1K关注 0票数 0

我使用canvg将svg元素渲染到画布上,并使用jspdf下载它。下面是我的代码:

代码语言:javascript
复制
svgElement = jQuery('#svg');

canvas = jQuery('<canvas />').attr({
    width: svgElement.width(),
    height: svgElement.height()
}).get(0);
ctx = canvas.getContext("2d");  

canvg(canvas, svgElement.outerHTML(), {ignoreMouse: true, ignoreAnimation: true});

imgData = canvas.toDataURL("image/png");
pdf = new jsPDF('landscape' , 'pt', [svgElement.height(), svgElement.width()]);
pdf.addImage(imgData, 'PNG', 0, 0);     
pdf.save('download.pdf');

但pdf上的图像看起来很模糊,没有原始图像那么清晰(忽略背景差异):

我认为这可能是由于canvg将svg渲染到画布上的步骤造成的。但我不知道怎么修,有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-20 03:13:51

你试过使用svgToPdf.js吗?你可以使用这个库跳过一个步骤,这样图像就会更清晰。

以下是github存储库:

https://github.com/CBiX/svgToPdf.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27834588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档