Skip to content

zoom截图有黑边 #483

Description

@defghy

原问题:#369

带zoom的元素截图,右下有黑边,以下是ai的解决方案

Image
  const result = await snapdom(boardsEl, {
    plugins: [
      {
        name: 'reset-snapshot-root-zoom',
        afterClone({ clone }) {
          // snapdom按未缩放尺寸创建画布,克隆根节点保留zoom会导致右侧和底部留白
          clone?.style.setProperty('zoom', '1')
        },
      },
    ],
  })
原因找到了:`snapdom@2.24.1` 对**根节点 CSS `zoom < 1`** 仍有问题。画布按未缩放尺寸创建,但克隆内容保留了 `zoom`,所以内容缩在左上角,右侧和底部出现空边。

已修复:

- 截图克隆阶段将根节点 `zoom` 设为 `1`,不影响页面实际缩放,也不会产生闪动。
- 同步修改了 [AIMod/sandbox.ts](/Users/happyelements/project/animal-world/platforms/aweb-level-editor/src/views/Editor/ai/AIMod/sandbox.ts:186) 和 [AICreate/sandbox.ts](/Users/happyelements/project/animal-world/platforms/aweb-level-editor/src/views/Editor/ai/AICreate/sandbox.ts:213)。
- 清理了废弃的 `aleFuncs/changeZoom` 代码。

已用 Chrome 最小复现验证 `zoom=0.8` 四边正常覆盖;Prettier 检查和 ALE 生产构建均通过。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions