photoshop CS3 脚本入门
2009年09月14日
这个入门教程实际上只是我阅读photoshop中自带的文档Photoshop CS3 Scripting Guide.pdf的一点笔记,对于Photoshop中的脚本,本人也是刚刚接触,因为对于设计人员,编程并不是熟悉的领域,本文自然十分简单,只为引起大家的兴趣,权当抛砖引玉。如果文中有任何错误,希望大家批评指正。
photoshop提供了几种任务自动化的功能,其中包括动作、批处理和脚本。动作可以记录一些列的操作动作和选项,但这些步骤都必须是线性的,没有根据具体图像的情况来提供可供选择的操作。photoshop预设了一些常用的批处理任务,同时用户也可以根据动作来创建快捷批处理,这种批处理实际上也和动作存在同样的局限性。而脚本对文档的自动化处理则是最强大的,与动作相比,它提供了更多的可能性。他可以执行逻辑判断,重命名文档等操作,同时脚本文件更便于携带并重用。
photoshop提供了3中脚本语法,分别是AppleScript(Mac平台),JavaScript扩展脚本(Mac平台和Windows平台),VBScript(Windows平台)。这里的示例采用的是通用的JavaScript扩展脚本,如果你编写过HTML中的JavaScript或者Flash平台中的ActionScript脚本,那么如下代码很容易理解。
这里没有详细介绍JavaScript的语法,因为photoshop中的JavaScript扩展脚本也是参照于ECMAScript标准来实现的,它们的核心部分是相同的,photoshop只是添加了photoshop的DOM接口。如果你不熟悉JavaScript,那么任何一本介绍了“核心JavaScript”的书籍或网站都可以作为一个很好的参考。
废话少说,开始第一个脚本吧。
打开一个常用的文本编辑器(记事本即可),键入如下代码: 复制内容到剪贴板
代码:
var originalUnit = preferences.rulerUnits
preferences.rulerUnits = Units.PIXELS
var docRef = app.document.add(200, 200)
var artLayerRef = docRef.artLayers.add()
artLayerRef.kind = LayerKind.TEXT
var textItemRef = artLayerRef.textItem
textItemRef.contents = "Hello world!"
docRef = null
artLayerRef = null
textItemRef = null
app.preferences.rulerUnits = originalUnit然后保存文件,后缀名为.jsx,例如“helloworld.jsx”。
打开Photoshop,文件――脚本――浏览,找到这个脚本文件,然后载入,看看效果吧。可以看到,脚本可以创建新的文档,同时可以创建新的图层,并操作图层的内容。很好很强大是吧。
下面对于上段代码的解释:
photoshop中提供了DOM来作为脚本语言编程的接口,通过这些接口来进行操作。DOM类似与一个属性结构,它的根就是Application,即photoshop,在Photoshop CS3 Scripting Guide中提供了一幅图,很清晰的说明了photoshop中DOM的结构,如下:
我们几乎所有的脚本都是同这些对象打交道。我们通过“helloworld.jsx”这个例子来说明。(添加了注释,最好参照上图查看) 复制内容到剪贴板
代码:
/*
保存当前设置的单位
然后将单位设置为像素
*/
var originalUnit = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
/*
创建一个新的文档,宽高都为200px
*/
var docRef = app.documents.add(200, 200);
/*
为新文档添加一个新层
设置层的类型为TEXT
*/
var artLayerRef = docRef.artLayers.add();
artLayerRef.kind = LayerKind.TEXT;
/*
设置文本内容为 "Hello world!"
*/
var textItemRef = artLayerRef.textItem;
textItemRef.contents = "Hello, World";
/*
清除对象的引用
*/
docRef = null
artLayerRef = null
textItemRef = null
/*
将预设单位恢复为原来的默认值
*/
app.preferences.rulerUnits = originalUnit;并不是很难,对吧。
脚本的重用
就像刚才所演示的,我们可以将脚本保存到任何地方,然后通过浏览来找到脚本。但是更好的方法是将脚本添加到photoshop的脚本菜单中,即将“helloworld.jsx”复制到 “photoshop安装目录\预置\脚本” 下,重新启动photoshop,就可以在[文件-脚本] 中直接使用这个脚本了。
发表评论
-
A*搜索算法
2012-01-20 02:24 761A*搜索算法 2011年03月28 ... -
红黑树
2012-01-20 02:24 596红黑树 2011年03月28日 学无止境,把这几年收藏的 ... -
Vertex Shader的世界:
2012-01-20 02:24 938Vertex Shader的世界: 2011 ... -
大规模场景的消隐技术
2012-01-20 02:24 573大规模场景的消隐技术 ... -
Vertex Shader 结构
2012-01-20 02:23 852Vertex Shader 结构 2011年04月24日 ... -
网上淘来的文章,对自己有点帮助
2012-01-19 10:13 710网上淘来的文章,对自己 ... -
英语的重要性
2012-01-19 10:13 501英语的重要性 2011年02月28日 英语的重要性 全球 ... -
背诵再背诵
2012-01-19 10:13 581背诵再背诵 2010年06月07 ... -
关于计算机图形学的学习资料建议
2012-01-17 02:54 765关于计算机图形学的学习资料建议 2010年07月03日 ... -
<<游戏是这样写成的>>(OpenGL ES,Objc++,MD2模型显示,粒子系统)
2012-01-17 02:54 911>(OpenGL ES,Objc++,MD2模型显示,粒 ... -
怎样用OpenGL在某一位置上写字符串?
2012-01-17 02:54 617怎样用OpenGL在某一位置上写字符串? 2011年11月2 ... -
Flash开发移动设备技巧
2012-01-15 22:32 503Flash开发移动设备技巧 ... -
AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧
2012-01-15 22:32 669AS3 编程易犯盲点――绝对对您有帮助,新手们都来看看吧 2 ... -
MovieClipLoader类详解
2012-01-15 22:32 678MovieClipLoader类详解 2009 ... -
flash复习2
2012-01-15 22:32 942flash复习2 2010年01月21日 ...
相关推荐
PHOTOSHOP CS3从入门到精通PHOTOSHOP CS3从入门到精通
Photoshop CS3教案第1章 版权由原作者所有!转载请声明!
photoshop CS3中文版教程之一快速入门.pdf
《Photoshop CS3印象图层与通道技术精粹》,学习PS通道技术
中文版Photoshop CS3实用教程
这是关于photoshop cs3学习的详细教程
安装程序\Adobe Photoshop CS3_1安装程序\Adobe Photoshop CS3_1安装程序\Adobe Photoshop CS3_1安装程序\Adobe Photoshop CS3_1安装程序\Adobe Photoshop CS3_1安装程序\Adobe Photoshop CS3_1
Photoshop CS3 中文版基础教程100集这是一个非常好的PS教程,特别对初学者来说不错。
Photoshop CS3实战教程教学过程
Photoshop CS3 中文版教程 视屏教程
全国计算机信息高新技术考试指定教材,图形图像处理(photoshop)平台 PhotoShop cs3 素材
Photoshop CS3 中文版帮助文档 收集了Photoshop CS3 中文版的帮助文档,为那些下载了简版Photoshop的朋友准备
Photoshop_CS3教程,经典的做图教程,相信你一定会喜欢 !
photoshop CS3专家讲堂系列教程
本教程图文并茂,能让你在短时间内掌握photoshop cs3的使用,相信会对大家有很大帮助!
photoshop cs3帮助文档,中文 的哦!!希望对各位有所帮助!!!
photoshop cs3 extended汉化包 汉化的还不错!图片见 http://bbs.qqlord.com/thread-1046-1-1.html
Photoshop CS3 中文版教程100集 第三章 图层基础与操作技巧 WinRAR 压缩文件11.6MB
photoshop cs3 平面设计50例第二部分:因特网应用部分