ai组件开发(五)--AILayerSuite

AILayerSuite 是 Adobe Illustrator 中用于处理图层的组件,提供了创建、获取、修改图层及其属性的方法。包括获取图层数量、获取和设置图层名称、颜色、可见性等,以及图层的插入、删除操作。此外,还介绍了与图层相关的通知程序和枚举常量,如 paintOrder,用于控制图层的绘制顺序。
摘要由CSDN通过智能技术生成

AILayerSuite

每个图层都包含一组对象,可以包含子图层。所有文档都至少以一个图层开头,用户或插件可以向其添加任意数量的新图层。图层是图稿树的容器; 用于AIArtSuite::GetFirstArtOfLayer()获取属于图层的Art对象组。

除了包含图稿之外,图层还有一个名称,一种颜色(用于表示选定的art),以及指示其是可见,可编辑还是已锁定,可打印以及是否将放置的Art显示为灰色的状态标志。图层引用是不透明的; 使用此套件中的函数来获取和设置图层属性。

多个图层属性会影响图层上的图稿是否可编辑。通常,不能选择不可编辑图层上的对象,因此无需检查对当前选择进行操作的插件。但是,在迭代图层或图稿时,请GetLayerEditable()在尝试对图稿进行任何更改之前调用每个图层。

可以将图层指定为模板图层,其中包含用于指导文档图稿构造的模板图稿。例如,模板可能包含正在跟踪的图像。永远不会打印模板图层或将其导出为最终格式的文件格式。

有四个与图层关联的通知程序:
kAICurrentLayerNotifier
kAILayerDeletionNotifier
kAILayerSetNotifier
kAILayerOptionsNotifier

使用SPBasicSuite::AcquireSuite()常量kAILayerSuite和使用获取此套件kAILayerVersion。

注册声明

//xxxSuites.h
#include <AILayer.h>
extern  "C" AILayerSuite\*                sAILayer;

//xxxSuites.cpp
extern "C"{
AILayerSuite\*               sAILayer = NULL;
}

ImportSuite gImportSuites[] = {
    IMPORT_TEXT_SUITES
    kAILayerSuite, kAILayerSuiteVersion, &sAILayer,
        nil, 0, nil
      };

方法

  • AIAPI AIErr(* CountLayers)(ai :: int32 * count)
    获取当前文档图层列表中的顶级图层数。
  • AIAPI AIErr(* GetNthLayer)(ai :: int32 n,AILayerHandle *layer)
    从当前文档中按索引获得顶级图层。
  • AIAPI AIErr(* GetCurrentLayer)(AILayerHandle *layer)
    获得当前文档中当前图层的引用。
  • AIAPI AIErr(* SetCurrentLayer)(AILayerHandle layer)
    使图层最新。
  • AIAPI AIErr(* GetFirstLayer)(AILayerHandle * first)
    获得当前文档图层列表的最顶层。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值