吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5225|回复: 6
收起左侧

[其他转载] PS脚本小记(2)

  [复制链接]
kftianji 发表于 2019-2-4 23:02
本帖最后由 kftianji 于 2019-2-14 05:43 编辑

这次是ps里的字体,文字图层
参考:Adobe CEP 扩展开发教程 「 6 」 Photoshop 中文脚本参考 – 浅藏的宝藏
          PhotoShop脚本指南                      (这个文章在腾讯  云社区中)
          酷课堂  Photoshop脚本
参考请用度娘自行搜索
--------------------
文件1.遍历系统字体:弹出对话框里显示的字体名称一部分和ps里字体名称不一样,特别是中文输入法。
[JavaScript] 纯文本查看 复制代码
var txtfonts=app.fonts//指向windows字体库
var msge
for(var i=0; i<txtfonts.length; i++)//循环次数小于字体总数
{
        msge+= (i+1)+" - "+txtfonts[i].name+"\r\n"
}
alert(msge)

图层关键字:
LayerSet(组)
ArtLayer(图层)
Layer(包括组和图层)

======================================
文件1执行后对话框显示的字体或ps字体库显示的字体,直接用【app.activeDocument.layers.textItem.font="某某某字体"】设置字体  大部分在脚本里都无法调用到,
特别是中文字体,比如方正字体之类的,英文字体还好点,很多直接能用。既然用app.fonts.name得到windows字体库的各个名称在ps内核中无法被识别,那么,
改用读取图层内的字体这种方式,来看看各个字体在ps内核里定义的变量名叫什么吧!


以下文件需要现在D盘建立一个vv2.txt文件,然后在ps里建文字图层输入文字修改字体,多来几个文字图层,每个文字图层设置成不同的字体,然后运行文件2.
文件2.读取所有文字图层的字体保存到文件:
[Asm] 纯文本查看 复制代码
var fileOut=new File("D:\\vv2.txt")//把写入的文本全路径指定给变量  
var docLayer=app.activeDocument.layers//文档图层
var layerlen=docLayer.length//图层总数
var layerkind=LayerKind.TEXT//docLayer.kind图层的值
var fontchange//临时变量
var message
var msgI=0//计数器

fileOut.open("w","TEXT","????")//打开文档

for(var i=0;i<layerlen;i++){
if(docLayer[i].kind==layerkind)//图层属性是否为text文本图层

testone(docLayer[i])//遇到文本图层进函数testone()

}

function testone(comeIn){

var text=comeIn.textItem
fontchange=text.font//当前图层字体存入变量fontchange
massage+=(msgI+1)+" - "+fontchange+"\n\r"
msgI++//在文本中计数

}
fileOut.write(massage)//写文本
fileOut.close()//关闭文本文件

字体的各个名称:
ps中显示
在文件1弹出对话框显示为
字体本身文件名
windows字体库显示为
ps脚本可调用
“方正胖娃简体”
"FZPangWa-M18S"
”FZPWJW.TTF“
“方正胖娃简体  常规”
”FZPWJW--GB1-0“

fileOut.open("w","TEXT","????")参1:可写。参2:文件类型。参3:文件作者(可无)


文件3.对文字图层做一些操作:
[JavaScript] 纯文本查看 复制代码
var docLayer=app.activeDocument.layers//文档图层
var layerlen=docLayer.length//图层总数
var layerkind=LayerKind.TEXT//docLayer.kind图层的值
var fontchange="FZPWJW--GB1-0"//字体:方正大黑简体
var txtsize=20//文字大小
var txtcolor=new SolidColor()//ps新建'动作'
      txtcolor.rgb["hexValue"]="e32424"//‘动作’:颜色设置
 
for(var i=0;i<layerlen;i++){
 
if(docLayer[i].kind==layerkind)//图层属性是否为text文本图层
testone(docLayer[i])
 
}
 
unction testone(comeIn){
 
var text=comeIn.textItem
text.size=txtsize//字大小
text.font=fontchange//字体
text.color=txtcolor//字颜色
//txtstroke()//文字描边...下次再谈
}



此脚本调节了字的大小、字体和字的颜色

=========================================
文字调节相关命令(一部分,不带处理英文的):

TextItem
contents 文本内容

color  文本颜色

position 文本框位置,以数组形式表示:[X1, Y1,X2,Y2]

size 字体大小

alternateLigatures 自由连字

antiAliasMethod 消除锯齿方式
AntiAlias.CRISP        犀利
AntiAlias.NONE       无
AntiAlias.SHARP     锐利
AntiAlias.SMOOTH 模糊
AntiAlias.STRONG  浑厚
Winodws使用 ActionDescriptor

autoKerning 字距调整
AutoKernType.MANUAL         手动指定
AutoKernType.METRICS 度量标准
AutoKernType.OPTICAL 视觉

useAutoLeading 使用自动行距

autoLeadingAmount  自动行距数量 [0.01 ~~ 5000.00]

baselineShift  基线偏移

desiredGlyphScaling  字符缩放期望[50~~200],用于 2 侧对齐时

desiredLetterScaling 字距缩放期望[100~~500],用于 2 侧对齐时

direction 文本取向
Direction.HORIZONTAL 水平
Direction.VERTICAL         垂直

fauxBold 仿粗体

fauxItalic 仿斜体

firstLineIndent 首行缩进,单位是 pt

font 指定字体

horizontalScale 水平缩放 [0~~1000]

hyphenation 换行时使用连字符

hyphenateAfterFirst 换行符后可以有多少字[1~~15]

hyphenateBeforeLast 换行符前可以有多少字[1~~15]

justification段落对齐方式:
Justification.LEFT     左对齐
Justification.CENTER       居中
Justification.RIGHT 右对齐
Justification.LEFTJUSTIFIED     两侧对齐,最后一行左对齐
Justification.CENTERJUSTIFIED       两侧对齐,最后一行居中
Justification.RIGHTJUSTIFIED 两侧对齐,最后一行右对齐
Justification.FULLYJUSTIFIED  两侧对齐,全部对齐

kind 文本类型
TextType.PARAGRAPHTEXT    段落文字,文本框
TextType.POINTTEXT       点文本,没有文本框

leading 行距

leftIndent 左缩进[-1296~~1296 pt]

rightIndent 右缩进[-1296~~1296 pt]

ligatures 使用连字

spaceAfter 断后添加空格[-1296~~1296 pt]

spaceBefore 断前添加空格[-1296~~1296 pt]

maximumGlyphScaling  最大字符缩放[50~~200]

minimumGlyphScaling  最小字符缩放[50~~200]

noBreak 不自动换行

oldStyle 使用老样式

underline 下划线
UnderlineType.UNDERLINELEFT    左下划线
UnderlineType.UNDERLINERIGHT 右下划线
UnderlineType.UNDERLINEOFF     无下划线

strikeThru 删除线
StrikeThruType.STRIKEBOX    偏上
StrikeThruType.STRIKEHEIGHT       中间
StrikeThruType.STRIKEOFF     无删除线

tracking 字距调整值[-1000~~10000]

useAutoLeading 自动行距

verticalScale 垂直缩放[0~~1000]

convertToShape() 转换为形状

createPath() 创建工作路径


--------------------------------
再添加一点点:
[JavaScript] 纯文本查看 复制代码
[/align]var Ref = app.activeDocument
Ref.activeLayer =Ref.layers[0]//当前文档,选择某图层


另外一个
[JavaScript] 纯文本查看 复制代码
$.evalFile("F:/字体/jsx/wordval.jsx")//链接wordval.jsx文档
var Ref = app.documents
app.activeDocument= Ref[3]//ps内多文档时,切换到指定文档


免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
梁梁59599 + 1 + 1 必须赞一个
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

NB2665597272 发表于 2019-2-4 23:19
谢谢楼主分享
fq645122 发表于 2019-2-4 23:21
zssfdg 发表于 2019-2-5 19:19
wushaominkk 发表于 2019-2-7 13:10
不错的笔记,期待您更好的作品
xbang 发表于 2019-2-9 09:50
求学习资料 分享
abc_play 发表于 2019-8-8 13:46


谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 14:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表