使用 Photoshop 脚本显示/隐藏图层的功能 (JSX)

2024-04-13

我正在编写一个脚本,它将循环遍历图层,修剪它们并导出。到目前为止,我已经拥有完成此脚本所需的大部分元素。我唯一找不到的是如何显示/隐藏单个图层。我找到了显示/隐藏所有图层的功能,但没有找到单个图层的功能。

///////////////////////////////////////////////////////////////////////////////
// selectAllLayers - select all layers (Select > All Layers)
///////////////////////////////////////////////////////////////////////////////
function selectAllLayers() {
    var ref = new ActionReference();
    ref.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
    var desc = new ActionDescriptor();
    desc.putReference(cTID('null'), ref);

    executeAction(sTID('selectAllLayers'), desc, DialogModes.NO);
}

///////////////////////////////////////////////////////////////////////////////
// hideLayers - hide all selected layers (Layer > Hide Layers)
///////////////////////////////////////////////////////////////////////////////
function hideLayers() {
    var ref = new ActionReference();
    ref.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt'));
    var list = new ActionList();
    list.putReference(ref);
    var desc = new ActionDescriptor();
    desc.putList(cTID('null'), list);
    executeAction(cTID('Hd  '), desc, DialogModes.NO);
}

function cTID(s) {return app.charIDToTypeID(s);}
function sTID(s) {return app.stringIDToTypeID(s);}

有任何想法吗?


The Layer对象有一个.visible布尔属性,您可以使用它来单独控制每个图层的可见性:

// make active layer invisible
app.activeDocument.activeLayer.visible = false;

or

// make active layer visible
app.activeDocument.activeLayer.visible = true;

甚至切换所选/活动图层的可见性:

app.activeDocument.activeLayer.visible = !app.activeDocument.activeLayer.visible;

或者循环遍历您需要的层并切换它们的可见性:

//example hides odd layers while showing even layers, based on their index
var doc = app.activeDocument;
for(var i = 0 ; i < doc.layers.length;i++){
    doc.layers[i].visible = (i % 2 == 0);
}

我建议看看Photoshop CS5 JavaScript 参考 https://www.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/photoshop_cs5_javascript_ref.pdf(PDF 链接)或在 ExtendScript Toolkit 中对象模型查看器.

您可以通过以下方式访问它帮助 > 对象模型查看器并选择Adobe Photoshop CS5 对象库从浏览器组合框/列表到 Photoshop DOM 中可用的类列表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Photoshop 脚本显示/隐藏图层的功能 (JSX) 的相关文章

  • PS图层混合算法之六(差值,溶解, 排除)

    差值模式 查看每个通道中的颜色信息 比较底色和绘图色 用较亮的像素点的像素值减去较暗的像素点的像素值 与白色混合将使底色反相 与黑色混合则不产生变化 排除模式可生成和差值模式相似的效果 但比差值模式生成的颜色对比度较小 因而颜色较柔和 与白
  • PSD 格式文件除了 PS ,还能用什么软件打开?

    有人问 除了 Photoshop 还有哪些软件能打开 PSD 格式文件呢 当我看到这个问题时 我立刻理解了他的烦恼 因为有段时间 我的电脑里没有安装 Photoshop 但有一次 我的同事发了一个 PSD 文件给我 我却无法联系到他 我急需
  • PS解决“无法使用快速选择,因为没有足够内存(RAM)”

    PS解决 无法使用快速选择 因为没有足够内存 RAM win R打开命令行 在输入框输入 regedit 点击确定 找到目录HKEY CURRENT USER Software Adobe Photoshop 点击对应版本Photoshop
  • 翻页特效原理

    http www open open com lib view 1326265166952 实现真实的翻页效果 为了能在翻页的过程中看到下一页的内容 在翻页之前必须准备两张页面 一张是当前页 另一张是下一页 翻页的过程就是对这两张页面的剪切
  • DNG格式解析

    Author Maddock Date 2015 04 22 转载请注明出处 http www cnblogs com adong7639 p 4446828 html DNG格式基本概念 DNG格式是在TIFF的基础上扩展出来的 要了解D
  • Photoshop、Illustrator、Sketch哪个更好

    以前在交流组经常能看到大家争论哪个设计软件好 到底是你的吗 Illustrator好还是我的CorelDRAW或者他的Photoshop强大 但是跟着UI流行的设计 Sketch软件也加入了争论 让我们和你分享一下这篇文章 让我们来看看平面
  • Adobe Media Encoder 是否可以使用 ExtendScript 编写脚本?

    Adobe Media Encoder AME 是否可以编写脚本 我听人们提到它是 官方可编写脚本的 但我找不到任何对其可编写脚本的对象集的引用 有人有编写 AME 脚本的经验吗 Adobe 媒体编码器 正式 不可编写脚本 但我们可以使用扩
  • 使用代码启动 Photoshop 操作

    是否可以使用代码启动 Photoshop 操作 我的意思是通过批处理文件在 Photoshop 中启动该操作 或类似的东西 较新版本的 Photoshop CS5 和 CS6 是我使用过的唯一版本 支持一项称为Droplets它允许您创建可
  • 模仿 Photoshop 混合效果,如乘法、叠加等

    我正在制作一个带有整页背景图像的网站 我想为侧栏创建一个背景图像 其作用类似于具有乘法作为混合模式的 Photoshop 图层 它只是一个具有 Photoshop 多层 行为 的蓝色表面 无法合并叠加层和图像 因为以其他屏幕比例 尺寸打开网
  • Adobe .jsx 脚本可以包含其他脚本文件吗?

    我们正在编写一堆 jsx 脚本 在每个脚本中我都必须模拟一些函数 以便我可以使用 Array map 和 String trim 之类的东西 但我不想包含该代码在每个脚本的顶部 有没有办法在 jsx 脚本文件中 包含 其他 jsx 脚本 或
  • 如何使用 JavaScript 选择和删除 Illustrator 文档中的每个剪贴蒙版?

    我正在为 Adob e Illustrator CS6 javascript 制作扩展脚本 我需要删除文档的每个剪贴蒙版 我已经有了一个解决方案 但在大文档中它不够快 这是我的代码 var releaseClippingMasks func
  • 了解使用 Photoshop 生成的 24 位 PNG

    具有透明度的 24 位 png 文件 可以使用以下命令生成Photoshop 真的有 24 位分布在每种颜色加上 alpha 上吗 或者 24 位仅指颜色并忽略 alpha RGBA 8888 有没有工具可以检查 PNG 文件并验证此类信息
  • Photoshop CS5 无法识别 activeDocument

    我在 64 位 Vista 机器上为 Photoshop CS5 1 编写了一个相当大的脚本 现在 当我在新的 64 位 Windows 7 计算机上运行完全相同的脚本时 Adobe ExtendScript Tool 会抱怨activeD
  • Photoshop Javascript 获取活动文档中的所有图层

    我确信 Photoshop 脚本编写者之前应该讨论过这个问题 我写了一个解决方案如下 我认为逻辑上是对的 但结果却不对 任何人都可以帮助检查代码中的错误 或者对这个主题有想法吗 我想获取文档中的所有图层 Code function getA
  • Photoshop 导出渐变(.grd 文件)

    我正在尝试编写一个工具 使用 sass compass 将 Photoshop 渐变转换为 css 渐变 据我所知 grd 是一种专有格式 没有可用的文档 内置脚本能够获取此信息吗 EDIT here http wwwimages adob
  • 有没有办法生成 iOS 表情符号的高分辨率 PNG?

    我已经能够从 iOS 找到 160x160 像素的表情符号 PNG 实际上是 WhatsApp 但它们大致是同一组 但当我将它们导入 XCode 7 时 它们仅显示为 1x 有没有办法使用 Photoshop OS X 或类似工具来创建高分
  • Photoshop 文本工具在文本开头添加标点符号[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在使用 Photoshop 时遇到了一个奇怪的问题 当我使用文字工具时 我可以正常键入字母 但是当我键入任何标点符号时 它会添加到文本的
  • 什么是高通和低通滤波器?

    图形和音频编辑处理软件通常包含称为 高通滤波器 和 低通滤波器 的功能 它们到底有什么作用 以及实现它们的算法是什么 以下是使用卷积实现低通滤波器的方法 double signal some 1d signal double filter
  • 使用 Extendscript 编写二进制文件。文件大小不正确

    进一步我的问题here https stackoverflow com questions 63022178 read binary file with extendscript我正在使用 Extendscript 将十六进制颜色列表从 P
  • 创建无缝旋转背景图像

    我想重复旋转的背景图像 试图让它变得无缝正在摧毁我的灵魂 从简单的事情开始 考虑每个图像都像砖块一样布局 创建无缝重复背景图像非常简单 红色区域是作物 您可以看到它按预期工作http jsfiddle net mPqfB http jsfi

随机推荐

  • 如何使用 NHibernate 的 criteria api 和实体查询子属性以仅加载与谓词条件匹配的子属性

    假设如下 public class Order public virtual int OrderId get set public virtual ISet
  • 向由 proc_open() 打开的进程发送信号

    我们这里有一个实用程序正在使用proc open 调用 ssh 在远程计算机上运行命令 然而 在某些情况下 我们需要停止远程机器上的命令 但是proc close and proc terminate 不要将所需的信号发送到 ssh 连接的
  • 在 Typescript 中为“this”关键字键入注释

    我有一个独立的函数 旨在使用提供的上下文Function prototype call 例如 function foo return this bar gt foo call bar baz baz 有没有办法为以下内容提供 Typescr
  • 连接两个表并使用 where 子句过滤它们

    我在获取所需的 SQL 输出时遇到问题 我有两个这样的表 tblOrder ID User Status 1 1 0 2 1 0 3 2 1 表订单项 ID OrderID Product Quantity 1 1 A 2 2 1 B 1
  • 在实体框架代码优先中,为什么主键总是存储为聚集索引?

    我正在更多地了解一般索引 特别是聚集索引 在 Markus Winand 的这篇文章中 http use the index luke com blog 2014 01 unreasonable defaults primary key c
  • 如何将两个已排序数组合并为一个已排序数组? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是我在采访中被问到的问题 这是我提供的解决方案 public static int merge int a int b int an
  • 如何共享App.config?

    如何在 Visual Studio 解决方案中的多个项目之间共享 链接 App config 或 Web config In the 添加现有项目从 Visual Studio 获得的对话框解决方案浏览器 您可以将磁盘上另一个文件的链接添加
  • 将文件的路径位置更改为所需路径

    我想将文件中定义的内容路径 即logging properties 替换为jboss7位置的所需位置路径 基本上我正在使用安装程序 我必须浏览我的 jboss7 文件夹并将其定位到用户所需的任何位置 但在 jboss7 的几个文件中 有一些
  • 如何编辑swift错误断点?

    我想设置 Swift 错误断点来处理 Swift Error错误类型迅速 但我没有得到 What to set as Type value in BreakPoint 如果您只是创建一个 Swift 错误断点 它会在任何符合 ErrorTy
  • 为什么ostringstream在多线程环境下不能很好的工作

    也许有些事情很奇怪 当我在多线程环境中使用STL ostringstream 类时 我发现每个线程的执行时间随着线程数量的增加而线性增加 我不知道为什么会这样 我尝试检查 ostringstream 源代码 但找不到任何同步代码 ostri
  • 在android中围绕两个手指的中点缩放

    我有一个HorizontalScrollView其中有多个视图 我已经实施了pinch zoom gesture其中我的两根手指之间的多个视图被缩放 但我面临一个小问题 当我进行捏缩放时 捏缩放的中点正在移动 但为了用户体验 我希望该点保持
  • Next.js 从 Docker 容器无限重载

    我正在尝试制作一个简单的 Next js 应用程序 它使用 Firebase 身份验证并从 Docker 容器运行 以下内容在本地运行良好 从构建的 docker 容器运行 然而 当我部署到 Heroku 或 Google Cloud Ru
  • UIImageView 的触摸向上和触摸向下操作

    我想要实现的是 当用户触摸 UIImageView 时设置 Image1 当用户抬起手指时设置 Image2 我只能用此代码获取 UIGestureRecognizerState Ended var tap UITapGestureReco
  • 提高 python 脚本的吞吐量

    我正在通过 dig 处理来自 DNSBL 的数千个域名列表 创建 URL 和 IP 的 CSV 这是一个非常耗时的过程 可能需要几个小时 我的服务器的 DNSBL 每十五分钟更新一次 有没有办法可以提高 Python 脚本的吞吐量以跟上服务
  • 如何检查日期范围是否存在

    正如你从标题中可能注意到的 我的问题很难表达 但有一个问题 我有包含一些数据的 MySQL 表 在注册表中 我必须指定预订开始和结束时间 如何查询指定时间是否已登记预订 例如 我不应该能够添加从 13 20 开始到 15 00 结束的新预订
  • Azure API 管理和 API 版本控制

    Azure API 管理如何帮助我管理不同版本的 API 并将所选操作从旧版本的 API 重新路由到新版本的 API 有两种方法可以实现这一目标 您可以使用不包含版本段的服务 URL 配置 API 例如 https my api https
  • 将多个文件连接成一个文件对象,而不创建新文件

    这个问题与Python 连接文本文件 https stackoverflow com questions 13613336 python concatenate text files 我有一个清单file names like file1
  • 如何在 python-gensim 中使用潜在狄利克雷分配(LDA)来抽象二元组主题而不是一元组?

    LDA 原始输出 一元语法 主题1 水肺 水 蒸汽 潜水 主题2 二氧化物 植物 绿色 碳 所需输出 二元组主题 主题1 水肺潜水 水蒸气 主题2 绿色植物 二氧化碳 任何想法 鉴于我有一个名为docs 包含文档中的单词列表 我可以使用 n
  • 在 C# 中获取两个时间之间的时间跨度?

    我有两个文本框 一种用于准时打卡 另一种用于打卡下班 时间将采用以下格式 Hours Minutes 假设我早上 7 00 打卡上班 下午 2 00 打卡下班 使用我当前的代码 我得到了 2 小时的差异 但实际上应该是 7 小时 我将如何在
  • 使用 Photoshop 脚本显示/隐藏图层的功能 (JSX)

    我正在编写一个脚本 它将循环遍历图层 修剪它们并导出 到目前为止 我已经拥有完成此脚本所需的大部分元素 我唯一找不到的是如何显示 隐藏单个图层 我找到了显示 隐藏所有图层的功能 但没有找到单个图层的功能 selectAllLayers se