PowerPoint JavaScript API无法创建负斜率直线问题问询
使用PowerPoint JavaScript API创建负斜率直线时的渲染异常问题
问题描述
我们在使用PowerPoint JavaScript API创建从左到右向上延伸的负斜率直线时遇到技术问题,尝试多种方法后仍只能渲染出从左到右向下延伸的正斜率直线。
重现步骤
- 使用
ShapeCollection.addLine方法创建直线 - 尝试传入参数创建向上延伸的负斜率直线
- 无论传入何种参数,直线始终渲染为正斜率
代码示例及结果
示例1:尝试创建向上倾斜的直线
const upLine = shapes.addLine(PowerPoint.ConnectorType.straight, { left: 250, top: 300, width: 100, height: -200 // 预期负height会创建向上的斜率 });
结果:尽管height设为负值,直线仍显示为向下的正斜率
示例2:尝试创建两条相连的V形直线
// 第一条直线 - 向下倾斜 const leftLine = shapes.addLine(PowerPoint.ConnectorType.straight, { left: 150, top: 100, width: 100, height: 200 }); // 第二条直线 - 预期向上倾斜 const rightLine = shapes.addLine(PowerPoint.ConnectorType.straight, { left: 250, top: 300, width: 100, height: -200 });
记录的坐标:
- 左直线:起点(150,100),终点(250,300)
- 右直线:起点(250,300),终点(350,100)
结果:坐标记录正确,但实际渲染与坐标不符,两条直线均显示为正斜率
预期与实际行为
- 预期行为:通过指定负
height值创建负斜率直线,该值应表示X增大时Y坐标减小 - 实际行为:API似乎会标准化或忽略负
height值,导致无论height参数符号如何,直线始终为正斜率
技术环境
PowerPoint加载项,基于PowerPoint JavaScript API开发
影响
该限制阻碍了我们在加载项中创建V形、三角形等需要不同斜率直线的基础几何图形
补充信息
我们通过记录直线实际坐标排除了简单参数错误,坐标记录正确但屏幕渲染结果不符
内容的提问来源于stack exchange,提问作者Phil Bell
相关产品推荐
相关产品推荐

