主要介绍AIRealMathSuite中使用到的函数,以及部分应用场景,持续更新中
AIRealRectOverlap
AIAPI AIBoolean(* AIRealMathSuite::AIRealRectOverlap)(const AIRealRect *a, const AIRealRect *b)
Tests whether two rectangles overlap (have any points in common).
测试两个矩形是否重叠(有任何共同点)
- 参数:
- a
The first rectangle. - b
The second rectangle.
- a
- 返回值:
如果矩形重叠,则为真。
AIRealRectInAIRealRect
AIAPI AIBoolean(* AIRealMathSuite::AIRealRectInAIRealRect)(const AIRealRect *a, const AIRealRect *b)
Tests whether one rectangle is inside (entirely contained in) another rectangle.
测试一个矩形是否在另一个矩形内(完全包含在内)。
Both must be open or both closed.
两者都必须是开放的或都是封闭的。
- 参数:
- a
The first rectangle. - b
The second rectangle.
- a
- 返回值:
True if the set of points contained by a is also contained by b.
如果a包含的点集也包含在b内,则为真。
AIRealRectSet
AIAPI void(* AIRealMathSuite::AIRealRectSet)(AIRealRect *a, AIReal left, AIReal top, AIReal right, AIReal bottom)
Sets the coordinate values in a rectangle. 设置矩形中的坐标值
(In the Illustrator art coordinate system, the origin, (0, 0), is at the bottom left corner of a page. X and Y values increase upward and to the right.)
- 参数:
- a
The rectangle object. ///AI的矩形对象指针 - left
The left side location.///xmin - top
The top side location. ///ymax - right
The right side location.///xmax - bottom
The bottom side location.///ymin
- a
注意:Illustrator的坐标系原点位于页面左下角,X和Y值向上和向右增加。
AIRealPointInterpolate
AIAPI void(* AIRealMathSuite :: AIRealPointInterpolate)(const AIRealPoint * a,const AIRealPoint * b,AIReal t,AIRealPoint * result)
通过在点的相应坐标之间插入新坐标值来计算两点之间的点的位置。
原理就是向量
结果是 a t + b (1-t)
参数:
a 第一点。
b 第二点。
t(b-a)的百分比,表示为0到1之间的数字。
result [out]用于返回结果的缓冲区。
参考资料
Adobe Illustrator SDK,下载地址:https://www.adobe.com/devnet/illustrator/sdk.html
相关文章
AI组件开发(一)–注记旋转矩阵
AI组件开发(二)–AIRealMathSuite
AI组件开发(三)–AIArtboardSuite
AI组件开发(四)–AIDocumentSuite
AI组件开发(五)–AILayerSuite
AI组件开发(六)–AIArtSuite
AI组件开发(七)–AIPathSuite&&AIPathfinderSuite
AI组件开发(八)–AIArtStyleSuite