跳到主要内容

IntersectWith

返回此范围与给定范围交集的新范围。当前范围不会更改。

语法​

expression.IntersectWith(range);

expression - 表示 ApiTextRange 类的变量。

参数​

名称必需/可选数据类型默认值描述
range必需ApiTextRange未提供描述。

返回值​

ApiTextRange | null

示例​

求两个重叠文本范围的交集并返回其公共部分。

// Useful for finding the shared portion between two selections.

// Create two partially overlapping ranges and get their intersection.

const presentation = Api.GetPresentation();
const slide = presentation.GetSlideByIndex(0);
slide.RemoveAllObjects();

const fill = Api.CreateSolidFill(Api.RGB(255, 111, 61));
const stroke = Api.CreateStroke(0, Api.CreateNoFill());
const shape = Api.CreateShape("rect", 300 * 36000, 130 * 36000, fill, stroke);
shape.SetPosition(608400, 1267200);

const docContent = shape.GetDocContent();
docContent.GetElement(0).AddText("Hello World");
slide.AddObject(shape);

const range = shape.GetTextRange();
const range1 = range.GetRange(0, 7);
const range2 = range.GetRange(5, 11);

const intersection = range1.IntersectWith(range2);

const fill2 = Api.CreateSolidFill(Api.RGB(200, 230, 255));
const shape2 = Api.CreateShape("rect", 300 * 36000, 80 * 36000, fill2, stroke);
shape2.SetPosition(608400, 6000000);
shape2.GetDocContent().GetElement(0).AddText("Intersection: " + JSON.stringify(intersection.GetText()));
slide.AddObject(shape2);