【问题标题】:konvajs doubled canvas (Buffered Canvas)konvajs 加倍画布(缓冲画布)
【发布时间】:2018-11-30 17:25:18
【问题描述】:

你好 Stack Overflow 社区!

在我作为程序员的这些年里,这个平台经常可以解决我的问题。现在我终于到了在谷歌找不到任何东西并在这里问的地步。哇

我在我的项目中使用 konvajs 并创建了 4 层。一切运行良好,但现在我想将整个舞台导出为图像。我在这一点上的问题是,它以 3840x2160 而不是 1920x1080 导出图像(DataURL)。

我正在设置 stage.size({width:1920,height:1080})。

konvajs 这样做的原因是什么?与 MSAA 技术有相同的用途吗?我可以导出 1920x1080 的图像吗?为什么我的画布标签是 2 倍分辨率?

Screenshot

谢谢!

【问题讨论】:

  • 如何导出?在画布元素上手动调用 toDataURL?
  • stage.toDataURL()

标签: konvajs


【解决方案1】:

stage.toDataURL() 应该为您提供与舞台 1920x1080 大小相同的图像。

但在 DOM 中,Konva 使用更大的画布尺寸来支持 HDPI 设备(如视网膜显示),因此您的画布看起来仍然不错。画布较大,但已缩小到原始舞台大小。

【讨论】:

  • 是的,我头晕目眩。当然 toDataURL 正在提供(就像你说的那样)正确的输出。问题是:我有一些转换,我当然要重置。所以我的解决方案是:1)克隆阶段 2)转换为期望值 3)使用此重置克隆中的 toDataURL 4)销毁此克隆。我会将您的解决方案标记为正确
猜你喜欢
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2012-01-28
  • 2011-05-31
  • 2013-11-30
  • 2012-09-01
相关资源
最近更新 更多