Skip to content

多环节图片导出尺寸一致性 ​

同一个几何工程可能先由 AI 生成,再由人工修改,最后通过 SDK、MCP 或大角 API 导出图片。要让这些环节保持相同的范围、视角和图片尺寸,应当把构图参数保存到工程中,并让后续环节复用。

平面几何(2D)使用“有限画布”,立体几何(3D)使用“固定视图”。 无论通过 MCP 生成还是人工编辑,都建议设置这项功能。通过大角智能生图 API 生成的工程会自动带有 AI 推荐的有限画布或固定视图;接手工程后,应检查推荐范围,确认主体、标注和留白,再将其作为后续处理的依据。

2D 有限画布与 3D 固定视图功能对照:设置坐标范围与比例,或观察视角与截取范围,保存后供后续编辑与导出复用

在生成和编辑时确定范围 ​

工程来源建议操作
人工编辑,包括 SDK 内嵌画板调整好构图后,还需为 2D 设置有限画布,或为 3D 保存并启用固定视图,再保存工程,才能让后续导出沿用这套构图。
大角智能生图 API保留生成结果中 AI 推荐的有限画布或固定视图,检查并按实际需求调整,连同完整工程一起保存。
自建 Agent 生成请 AI 在完成图形后,根据主体、文字和标注的位置,推荐适合最佳浏览效果的裁剪参数:2D 给出画布边界与比例尺,设置有限画布;3D 给出观察视角、缩放、完整视口尺寸与裁剪框,设置并启用固定视图。要求主体和标注完整、几何关系清晰、留白适量,并通过导出预览检查和调整,最终给出实际采用的参数。

交接前预览,确认主体和标注完整、留白适量,3D 视角能清楚表达几何关系。

后续编辑时沿用这组参数;需要调整构图时,更新有限画布或固定视图,并保存工程供后续环节复用。

2D 与 3D 的字段含义不同 ​

项目平面几何(2D):有限画布立体几何(3D):固定视图
工程字段slides[].viewBoundsslides[].viewCamera3d,并设置 viewCamera3dEnabled: true
范围如何确定世界坐标中的矩形边界 minX、maxX、minY、maxY相机中心、观察角度、投影方式、缩放、完整视口宽高,以及可选裁剪框
scale每个世界坐标单位对应的逻辑像素数;边界不变时,改变它会改变逻辑输出尺寸相机缩放;增大会拉近视图、缩小可见世界范围,改变构图,不能套用 2D 的尺寸公式
矩形坐标导出参数的 left/right/bottom/top 是世界坐标,Y 向上,bottom < topcrop.left/top/right/bottom 是完整视口内的逻辑像素坐标,左上为原点,Y 向下,top < bottom
图片尺寸由世界坐标边界、scale 和 pixelRatio 计算由完整逻辑视口 width/height 或启用的裁剪框,以及 pixelRatio 计算

pixelRatio 控制导出的物理像素尺寸。构图相同时,使用相同倍率才能保持像素宽高一致。

只需提高分辨率时,调整 pixelRatio,保留视图参数。

平面几何:设置有限画布 ​

有限画布确定输出的世界坐标范围和排版比例,可通过以下三种方式设置。

SDK 调用 REPL ​

在 SDK 编辑模式下,通过 editor.repl() 为当前 2D 画板设置范围:

ts
await editor.repl('view_bounds (-6, 6, -4, 4, 50)');

参数依次为 minX、maxX、minY、maxY、scale。

  • view_bounds:查询当前设置。
  • view_bounds infinite:恢复无限画布。

通过 MCP 告知 AI 修改 ​

可直接向已接入 MCP 的 AI 提出要求:

请为当前 2D 画板设置有限画布,根据主体和标注推荐最佳浏览范围与比例尺。检查导出预览,确保内容完整、留白适量,并给出最终采用的参数。

AI 通过 MCP 的 repl 执行 view_bounds,将范围保存到画板。

在内嵌画板中调整 ​

在内嵌画板的编辑界面中设置有限画布,调整边界和比例尺,确认预览后保存完整工程。

画板界面中的有限画布设置

立体几何:设置并启用固定视图 ​

3D 固定视图需保存观察方向、投影方式、画面中心、视口尺寸与裁剪范围,同样支持三种设置方式。

SDK 调用 REPL ​

在 SDK 编辑模式下,通过 editor.repl() 为当前 3D 画板设置并启用固定视图:

ts
await editor.repl(`view_camera3d {
  offset: (0, 0, 0);
  projection: "orthographic";
  yawDeg: 45;
  pitchDeg: 30;
  scale: 0.1;
  width: 1200;
  height: 800;
  crop: (100, 50, 1100, 750);
}`);

该命令设置参数并启用固定视图。

  • view_camera3d:只查询,不启用。
  • view_camera3d off:停用,保留参数。
  • view_camera3d on:重新启用。

通过 MCP 告知 AI 修改 ​

可直接向已接入 MCP 的 AI 提出要求:

请为当前 3D 画板设置并启用固定视图,推荐能清楚表达几何关系的视角、缩放、视口尺寸和裁剪范围。检查导出预览,确保主体和标注完整、留白适量,并给出最终采用的参数。

AI 通过 MCP 的 repl 执行 view_camera3d,将配置保存到画板并启用。

在内嵌画板中调整 ​

在内嵌画板的编辑界面中设置固定视图,调整观察视角、缩放、视口尺寸和裁剪范围。

确认预览后,启用固定视图并保存完整工程。

内嵌画板中的 3D 固定视图设置

后续环节如何复用 ​

首次生成时设置好有限画布或固定视图,保存完整工程,后续即可沿用,无需反复调整构图。

MCP ​

直接请 AI 按工程中保存的范围和视角导出图片即可。2D 使用 export_image,3D 使用 export_image_3d,无需重新指定视图参数。

接入与使用方式见 MCP 文档。

大角 PNG API ​

调用 POST /api/render/v2,传入完整工程 content 和目标画板 slideIndex,省略 view2D / view3D,即可复用已保存的配置。

请求示例与可选参数见 PNG 导出接口。

SDK 内嵌画板 ​

读取已保存的配置,传给 exportImage,使用 mode: 'view' 导出:

  • 2D:用 getViewBounds() 读取,作为 viewBound 传入。
  • 3D:用 getViewCamera3d() 读取,作为 viewCamera3d 传入。

完整示例见 SDK 导出图片。

需要改变构图时,更新工程中的有限画布或固定视图并保存,后续继续复用新配置。

出现差异时检查什么 ​

现象检查项
编辑器预览与后端导出不同是否保存了有限画布 / 固定视图;3D 固定视图是否已启用;是否误用了编辑相机
添加标注后图片边缘或尺寸改变是否改用内容包围盒导出,或重新自动计算了范围
3D 视角、缩放或裁剪不对是否混用了度和弧度、2D 和 3D 的 scale,或世界坐标与视口像素坐标
构图一致但像素尺寸不同pixelRatio、2D 排版比例、3D 完整视口与裁剪开关是否一致
临时导出正确,下一环节又改变是否只覆盖了单次导出参数,没有将新配置保存回完整工程