HTML5 Canvas 导出高质量图像教程
如果你需要将一个舞台导出为图像或 base64,你可以使用 stage.toDataURL()
或 stage.toImage()
方法。
在 Konva
中,导出的图像默认的 pixelRatio
属性设置为 1
。这意味着如果你导出一个大小为 500x500
的舞台,那么导出的图像将具有相同的大小 500x500
。
在某些情况下,你可能想要导出更适合更高(甚至更小)分辨率的图像。例如,你可能希望将某个内容导出为图像,然后在 HDPI 设备(具有高像素比,例如视网膜显示屏)上的画布中使用该图像。另一种情况可能是你需要将用户的绘图导出到运行高分辨率的计算机上。
如果你使用默认设置进行此操作,那么你会看到模糊的图像。你可以在这里阅读有关全局 pixelRatio
属性的更多信息 MDN - devicePixelRatio。
对于这两种用例,你可以使用:
stage.toDataURL({
pixelRatio: 2 // 或其他你需要的值
})
现在,大小为 500x500
的舞台将导出为大小为 1000x1000
的图像。Konva
中几乎所有的节点都存储为矢量数据,位图图像和缓存节点除外。这导致导出的图像质量高。
说明: 尝试将舞台保存为图像。你会看到它具有高分辨率。
- Vanilla
- React
- Vue