PS脚本教程

本文介绍了如何使用AdobePhotoshop的内置脚本语言ExtendScript,通过示例展示了如何实现文本内容的自动更改以及生成PNG图片。包括安装脚本编辑器、基本语法、循环结构和常用操作,如导出图片和文本替换。

今日学习内容

  • PS 脚本,实现自动更改文本内容和图片,并导出 png 图片

    ps 的内置脚本语言是 ExtendScript,遵循 ECMAScript 规范,和 js 很像,会 js 的上手很快

文末有简单的小例子

PS 脚本

前期准备

  • 下载脚本编辑器 Adobe ExtendScript Toolkit CC(简称 ESTK,直接搜名字下载即可,在 github 上开源)
  • 下载 PS 任意版本(最好是 18 年之后的版本,具体支持版本可查阅脚本编辑器的)

打开 ps 和 ESTK

打开之后效果如下图所示,选择对应版本和软件,若工作指示标记是绿色的锁链则表示连接成功,可以开始编写脚本了

在这里插入图片描述

ES 基本语法

整体语法和 js 类似,但是集成了一些操作 adobe 软件的函数

新建文档:

#target photoshop //
app.bringToFront()

// 定义文档的宽和高
var width = 10 // 目前ps的默认标尺宽度为像素px
var height = 10
// 定义文档分辨率
var resolution = 72
// 定义文档的名字
var name = "我的文档test"
// 定义文档的模式
var mode = NewDocumentMode.RGB
// 定义文档的初始化填充
var initialFill = DocumentFill.WHITE
var pixelAspectRatio = 1
var bitsPerChannel = BitsPerChannelType.EIGHT

// 新建文档的命令,这些参数其实都可以缺省,直接一个app.documents.add()怼上去就能新建文档
app.documents.add (width, height, resolution, name, mode, initialFill, pixelAspectRatio, bitsPerChannel)

for 循环

// 定义一个数组
ll = [1,2,3,4,5]
// for循环,l从0开始一直循环到数组中所含元素个数
for (var l = 0; l<ll.length;l++){
        $.write(ll[l]) // ES中使用$.write()代替console.log在控制台中打印
     }

遍历字典

childdict = {"apple":"苹果","pen":"钢笔","coin":"硬币"}
for (var key in childdict){
	value = childdict[key]
	alert(key+"的中文是:"+value)
	}

常用操作

// 警报消息
alert("输出")

// 打开文件
var filepath =new File("C:\\文件夹\\子文件夹\\文件.psd") // 括号里换成自己的文件地址
app.open(filepath) // 打开文件到ps中

// 获取窗口句柄
var doc = app.activeDocument // 获取当前活动目录的句柄

// 执行ps中提前预设的动作
app.doAction("更新","更新") // 此处的更新为ps中的动作名称,需提前在软件中设置

// 导出png图片文件
// 设置导出参数
    var options = new ExportOptionsSaveForWeb();
    options.format = SaveDocumentType.PNG; // 选择导出格式,可以是其他格式如JPEG、GIF等
    options.PNG8 = false; // 如果选择PNG格式,设置是否为PNG-8

    // 设置导出路径
    var exportFolder = new Folder("C:\\文件夹\\子文件夹"); // 替换为你的导出文件夹路径
    var exportFile = new File(exportFolder + "\\" + "output.png"); // 替换为导出文件的名称和格式

    // 导出图片
    doc.exportDocument(exportFile, ExportType.SAVEFORWEB, options);
    doc.save()
    doc.close()

完整代码为

脚本说明:读取psd文件,该文件中含有名为text的文本图层。脚本功能为更改文字并输出图片

#target photoshop

// 设定变量
const textList = ["替换文本1","替换文本2","替换文本3"]
// 工作目录
const workFile = "C:\\Users\\xiezeyu\\Desktop\\未标题-2.psd";
 

// 更改文字图层代码,输入图层名字和修改内容
function changeText(name, text){
    var target = app.activeDocument.artLayers.getByName(name)
    if(target){
         target.textItem.contents = text
    }
    return "success"
}

// *******************主程序开始******************
var filepath =new File(workFile)
app.open(filepath)
var doc = app.activeDocument // 获取当前活动目录的句柄
// 设置导出参数
var options = new ExportOptionsSaveForWeb();
options.format = SaveDocumentType.PNG; // 选择导出格式,可以是其他格式如JPEG、GIF等
options.PNG8 = false; // 如果选择PNG格式,设置是否为PNG-8

// 更换内容
for (txt in textList){
    var content = textList[txt]
	changeText("text",content) // 前面的"tex"是图层的名字,后一个txt是要替换的内容
	
    // 设置导出路径和导出文件名
    var exportFolder = new Folder("C:\\Users\\xiezeyu\\Desktop"); // 替换为你的导出文件夹路径
    var exportFile = new File(exportFolder + "\\" + txt +".png"); // 替换为导出文件的名称和格式
    // 导出图片
    doc.exportDocument(exportFile, ExportType.SAVEFORWEB, options);
    }
// doc.save() // 保存当前内容,若需要保存文件可取消注释
doc.close()
alert("全部运行完成")
 【为什么购买本课程?】1、学会Photoshop脚本,可以大幅提高您的工作效率、摆脱大量重复设计任务的束缚;2、扩展Photoshop的功能:天气预报、to-do设计任务管理、中文加拼音、图层文字中英互译、每日一句英语、OCR智能识别图片上的文字内容、 为上万影片批量生成九宫格预览图、为数百个视频自动添加内容不同的片头、自动获取图片的主题颜色、快速生成不限数量并且不重复的漂亮卡通头像、给Photoshop添加猜数字、贪吃蛇游戏等等;3、利用人工智能技术:在Photoshop中识别图片中指定颜色的物体、进行面部识别;4、掌握99%Photoshop设计师不曾接触的技能,打造自己的职场护城河!5、重要的是:只有我们这里提供系统、全面、易学的Photoshop脚本教程,只此一家,别无选择!  【Photoshop脚本是什么?】* Photoshop神秘和强大的一项秘技!* 它可以允许您以代码的方式来操作文档、美化图像、处理图层、控制通道、编辑选区、使用滤镜等等,就像在Photoshop界面上操作一样。* 与PhotoShop动作(Action)相比,PhotoShop脚本更强大、更智能、更富有逻辑判断功能。* PhotoShop脚本主要用于重复性的任务或用于制作非常复杂的特殊效果。 【学会Photoshop脚本,可以做什么?】* 一键给n个图片批量添加水印;* 一键将n个图片批量生成指定尺寸的缩略图;* 一键将PSD网页设计稿的各功能区域,批量输出为Web所用格式;* 一键生成iOS、Andriod应用和游戏必需的十几种尺寸的图标;* 一键将n个小图拼合为一张大图,并输出各小图在大图中的坐标信息;* 甚至开发一款运行在Photoshop上的趣味游戏!我们向您保证,学习PhotoShop脚本所花费的时间,可以在完成几项重复性的复杂任务时得到补偿。快来学习Photoshop脚本吧!  【课程的特点】1、创新的教学模式:手把手教您Photoshop自动化技术,一看就懂,一学就会;2、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;3、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;4、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;5、课程源码素材:购买课程之后,进入最后一章的最后一节的课件列表,下载课程源码素材。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值