You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Konva.js中导出原始宽高的图片(缩放非1时)

Konva.js导出1:1比例图片的解决思路
  • 临时重置画布状态再导出
    导出前先保存当前舞台的scale和position参数,然后将舞台缩放设为{x:1, y:1}、位置设为{x:0, y:0},同时把舞台尺寸改回设计时的原始宽高。调用stage.batchDraw()确保状态生效后,再用stage.toDataURL()导出,导出完成后恢复之前保存的参数,不影响用户当前编辑状态。

  • 直接用导出参数指定比例
    无需修改当前舞台的显示状态,直接在toDataURL中配置导出参数:指定导出的宽高为原始画布尺寸,缩放设为1,示例代码如下:

    const dataURL = stage.toDataURL({
      width: 你的原始宽度,
      height: 你的原始高度,
      scale: 1,
      x: 0,
      y: 0
    });
    

    这种方式不会干扰用户正在编辑的画布状态,更稳妥。

  • 检查元素位置与舞台尺寸
    若导出图片出现元素偏移,要确认元素位置是基于原始比例的坐标。另外如果之前为适配窗口调整过舞台尺寸,重置缩放后需把舞台尺寸改回原始值,否则导出的图片尺寸还是缩放后的大小,仅内容缩成1倍,结果依然不符合预期。

内容的提问来源于stack exchange,提问作者Taesung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 01:57:12