文章目录

  • 1.简介
  • 2.图层相关概念
    • 2.1.LayerComp
    • 2.2.LayerComps
    • 2.3.Layers
    • 2.4.LayerSet
    • 2.5.LayerSets
  • 3.范例
    • 3.1.设置激活图层
    • 3.2.设置图层样式
    • 3.3.复制移动图层
    • 3.4.旋转图层
    • 3.5.图层类型
  • 4.作者寄语

1.简介

  Photoshop图层就如同透明纸堆叠在一起。通过图层来包含其它元素,可以移动图层来移动整个图层。

2.图层相关概念

2.1.LayerComp

  文档中图层状态的快照,可用于查看不同的页面布局或合成。通过 Document.layerComps 集合访问。 您可以按名称访问图层复合。 例如,这为名为 myLayerComp 的 LayerComp 对象设置了 comment 属性值:

var layercompRef = app.activeDocument.layerComps.getByName("myLayerComp");
layercompRef.comment = "View from shoreline";

2.2.LayerComps

  文档中 LayerComp 对象的集合。通过 Document.layerComps 集合属性访问。 例如:

app.activeDocument.layerComps.add("myLayerComp", "View from Shoreline",
true, true, true);

2.3.Layers

  文档中图层对象的集合,包括 ArtLayer 和 LayerSet 对象。 通过访问Document.layers 或 LayerSet.layers 集合属性。例如,这使用 length 属性来计算活动文档中图层对象的数量,然后在屏幕上显示数字:

var layerNum = app.activeDocument.layers.length
alert(layerNum)

2.4.LayerSet

  一组图层对象,可以包括 ArtLayer 对象和其他(嵌套的)LayerSet 对象。 单个命令可以操作集合中的所有层。通过 Document.layerSets 集合访问文档中的顶级图层集。 您可以按名称访问图层集。 例如,以下设置“myLayerSet”的 allLocked 值:

var layerSetRef = app.activeDocument.layerSets.getByName("myLayerSet");
layerSetRef.allLocked = true

  通过父集中的 LayerSet.layerSets 集合访问嵌套层集。 例如:

app.activeDocument.layerSets[0].layerSets[0];

2.5.LayerSets

  文档中 LayerSet 对象的集合。通过 Document.layerSets 集合属性访问文档中的顶级图层集。 例如:

var layerSetRef = app.activeDocument.layerSets.add()

  通过父集中的 LayerSet.layerSets 集合属性访问嵌套层集。 例如:

var layerSetRef = app.activeDocument.layerSets.getByName("myParentSet");
var childSet = layerSetRef.layerSets.getByName("myChildSet");

3.范例

3.1.设置激活图层

  将活动图层设置为活动文档的最后一个艺术图层。

app.bringToFront();if (app.documents.length == 0)
{var docRef = app.documents.add();
}
else
{var docRef = app.activeDocument;
}if (docRef.layers.length < 2)
{docRef.artLayers.add();
}var activeLayerName = docRef.activeLayer.name;
var setLayerName = "";
if (docRef.activeLayer.name != app.activeDocument.layers[docRef.layers.length - 1].name)
{docRef.activeLayer = docRef.layers[docRef.layers.length - 1];
}
else
{docRef.activeLayer = docRef.layers[0];
}
docRef = null;

3.2.设置图层样式

  此脚本演示了如何将样式应用于图层。

// in case we double clicked the file
app.bringToFront();$.localize = true;
var strStyleDefaultPuzzleImage = localize( "$$$/Presets/Styles/DefaultStyles_asl/PuzzleImage=Puzzle (Image)" );
var strtRulerUnits = app.preferences.rulerUnits;
if (strtRulerUnits != Units.PIXELS)
{app.preferences.rulerUnits = Units.PIXELS;
}if (app.documents.length == 0)
{var docRef = app.documents.add(320, 240, 72, null, NewDocumentMode.RGB, DocumentFill.WHITE);
}
else
{var docRef = app.activeDocument;
}// 确保 activeLayer 不是背景图层,以便我们可以对其应用样式
docRef.activeLayer.isBackgroundLayer = false;
docRef.artLayers[0].applyStyle(strStyleDefaultPuzzleImage);
docRef = null;if (strtRulerUnits != Units.PIXELS)
{app.preferences.rulerUnits = strtRulerUnits;
}

3.3.复制移动图层

  此脚本演示了如何复制移动图层。

if (!app.documents.length > 0)      //文档不存在则新建文档
{var strtRulerUnits = app.preferences.rulerUnits;app.preferences.rulerUnits = Units.PIXELS;var docRef = app.documents.add(320, 240, 72, null, NewDocumentMode.RGB, DocumentFill.WHITE);app.preferences.rulerUnits = strtRulerUnits;
}var docRef = app.activeDocument;
var layerSetRef = docRef.layerSets.add();
var layerRef = docRef.artLayers[0].duplicate();
layerRef.moveToEnd(layerSetRef);
docRef = null;
layerSetRef = null;
layerRef = null;

3.4.旋转图层

if (app.documents.length > 0)
{if (app.activeDocument.activeLayer.isBackgroundLayer == false){docRef = app.activeDocument;layerRef = docRef.layers[0];layerRef.rotate(45.0);}else{alert("Operation cannot be performed on background layer");}
}
else
{alert("You must have at least one open document to run this script!");
}

3.5.图层类型

if (!app.documents.length > 0) {    // open new file if no document is opened.var strtRulerUnits = app.preferences.rulerUnits;app.preferences.rulerUnits = Units.PIXELS;var docRef = app.documents.add(320, 240, 72, null, NewDocumentMode.RGB, DocumentFill.WHITE);app.preferences.rulerUnits = strtRulerUnits;
}var docRef = app.activeDocument;
var layerRef = docRef.artLayers.add();
layerRef.kind = LayerKind.TEXT;
docRef = null;
layerRef = null;

4.作者寄语

  合理的脚本代码可以有效的提高工作效率,减少重复劳动。

Photoshop-图层相关概念-LayerComp-Layers-移动旋转复制图层-复合图层相关推荐

  1. maptalks常见操作——图层置顶置底、添加清空图层、添加标注、切换底图、添加缩放工具、事件监听(点击面出弹框)、右键菜单、绘制mark、锁定视角

    maptalks常见操作--图层置顶置底.添加清空图层.添加标注.切换底图.添加缩放工具.事件监听(点击面出弹框).右键菜单.绘制mark.锁定视角 1.图层置顶 置底 layer.show().br ...

  2. QGIS基本功|4 图层进阶(一)创建和编辑图层

    记得大学上GIS课,老师不厌其烦地强调:空间数据是GIS的基础.相比较而言,当时GIS数据是相对匮乏的,数据获取远没有现在方便,大部分GIS数据都是通过纸质地图矢量化得到.因此,栅格地图矢量化是GIS ...

  3. ps怎么一下选中多个图层_ps怎么一下选中多个图层_PS入门教程:学习怎么新建图层,创意图层的相关技巧知识......

    PS入门教程:学习怎么新建图层,创意图层的相关技巧知识.下面我们就一起来学习一下吧,单击"图层"面板底部的"创建新图层"按钮或者按ps新建图层快捷键:Ctrl+ ...

  4. android百度地图自定义图层,百度地图开发之百度地图定位图层基本使用方法讲解...

    (一):基本介绍: 百度地图可以直接提供定位功能,并且把位置信息以图层的形式标注在地图上面(PopupView),同时还支持自定义设置图标,这样便于用户直接查看位置信息.要实现以上的方法,我们主要需要 ...

  5. 怎样在html中实现图层重叠,javascript – 在HTML5画布中实现图层

    我即将在HTML5画布中实现Photoshop般的图层.目前我有两个想法.第一个也许更简单的想法是为每个图层设置一个Canvas元素,如: 这样当你画到一个图层 – 它实际上是去"层&quo ...

  6. cad隐藏图层命令快捷键_Auto CAD如何快速隐藏图层,快捷键是什么?

    CAD常用快捷键命令大全: CAD绘圆弧快捷键命令--[A] CAD测量区域和周长快捷键命令--[AA] CAD对齐快捷键命令--[AL] CAD提取轮廓快捷键命令--[ALT+MUP] CAD线性标 ...

  7. cad隐藏图层命令快捷键_Auto CAD如何隐藏全部图层,快捷键是什么?

    CAD快捷键命令大全: CAD绘圆弧快捷键命令→『A』 CAD测量区域和周长快捷键命令→『AA』 CAD对齐快捷键命令→『AL』 CAD提取轮廓快捷键命令→『ALT+MUP』 CAD线性标注ALT+V ...

  8. ps盖印图层在哪里_Photoshop怎么使用盖印图层 创建盖印图层方法

    photoshop是一款方便易用的图片处理软件.在里面可以制作各种图层,你可以进行盖印图层,不过很多小伙伴不知道怎么操作的话不妨可以看看下面的教程. 类别:浏览辅助   大小:2.28M    语言: ...

  9. PS图层中如何快速找到想要的图层

    一.想要在画布中所有的图层中快速找到并转换为当前层有两种快捷键. 1.在选中移动工具(V键)的前提下,按住Ctrl键的同时鼠标点击该图层即可瞬间选中该图层: 2.按住Alt键的同时使用鼠标右键点击图层 ...

  10. arcgis栅格计算器:将栅格图层指定值设置为Nodata及栅格图层求交

    1. 首先需要找到栅格计算器的位置 2. 将栅格图层的某个数据设置为Nodata setnull函数可将特定的栅格值赋值为空值 SetNull("这里是栅格图像名称"==0 &am ...

最新文章

  1. 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
  2. 一门杀人于无形的艺术——社会工程
  3. word中公式编辑器编号
  4. 编程之美读书笔记2.1—求二进制数中1的个数
  5. CF590E-Birthday【AC自动机,最大独立集】
  6. 洛谷 一种堆套路 P1631序列合并、P2085最小函数值
  7. php多站点共享用户表,php – Zend_Auth:允许用户登录到多个表/身份
  8. 绕过路由系统 (Bypassing the Routing System)| 高级路由特性
  9. matlab 带通滤波函数,MATLAB窗函数实现带通滤波器
  10. 计算机软考笔试知识点,计算机软考考试必备知识点:关键链法
  11. 【Web安全从入门到放弃】06_文件包含漏洞
  12. balser相机连接设置设置步骤
  13. Linux 下的zip,rar
  14. 8大经典数据挖掘算法
  15. Codeforces Round #670 (Div. 2) D. Three Sequences(差分序列、数学思维分析)
  16. 高校教师开计算机培训中心,计算中心
  17. mysql grant命令详解_MySQL授权命令grant的使用方法详解
  18. 是SEO技术已死 还是你不懂SEO?
  19. 蜜罐php,PHP表单 – 带验证蜜罐
  20. 基于Transformer的翻译模型(英->中)

热门文章

  1. QGIS 导入图层到 PostGIS “导入某些图层失败! 图层“public“.‘xxxx‘载入失败 “
  2. 一封学生来信:突破大学的迷茫
  3. java中isolate时间_Dart异步编程:Isolate和事件循环
  4. 【数据仓库】1.数据模型
  5. stm32f407的串口通信传输不了且串口调试软件无法显示的问题
  6. android和手环传输数据,智能手环工作原理_智能手环是如何进行数据传输的 - 全文...
  7. PAT 1007(简单粗暴)
  8. 个人开发者用户福音,轻松申请微信商户、支付宝支付妙招
  9. c语言错误 cout不明确,C++ error: cout 不明确的符号
  10. 时间序列频繁模式挖掘:GSP算法、SPADE算法