Photoshop加边框脚本
程序员文章站
2024-02-15 08:46:34
...
初始脚本来自网络,后添加了部份功能
/*
逸之的说明:
这是使用javascript语言编写的cs专用脚本。 本脚本用于提取数码相片的Exif信息,输入相片主题和说明文字,
选择Logo标志,为相片加框。经测试,本脚本在64位Photoshop CS5.1中应用成功。注意。相片中需包含有Exif信息,否则运行脚本时将出错。另外相片
短边宽度最好不要小于450像数。
使用方法:
1、直接接运行的边框脚本使用前用需要修改的地方:记事本打开JSX脚本文件,将摄影者信息修改为使用者自己的网名ID、E-mail、网站等信息。如果摄影者信息
中包含中文信息,记得将后面的调用的英文字体改为“宋体”等中文字体,否则不能正确打印中文信息。
手动运行的边框脚本,在两种情况下,需要用户用记事本打开本脚本并修改相关内容:
一个是当你选择打印镜头信息时,需要先修改脚本中的镜头型号。另一个是当你从下拉列表中直接选择本脚本默认设置的Logo时,
需要先修改脚本中的Logo显示文本及其文件位置。
2、脚本调用方法:将压缩包内的JSX文件解压后释放复制到指定文件夹。如果是中文版Photoshop CS2,将JSX文件复制到文件夹
“C:\Program Files\Adobe\Adobe Photoshop CS2\预置\脚本”中。如果是英文版,则将JSX文件复制到文件
夹“C:\Program Files\Adobe\Adobe Photoshop CS2\Presets\Scripts”中。64位CS5.1版,
将JSZ文件复制到文件夹“C:\Program Files\Adobe\Adobe Photoshop CS5.1 (64 Bit)\Presets\Scripts”中。
不是下载的jsx文件则需要:
复制文本到windows记事本txt文本中,文件备份,将文件名后缀改为jsx,并将该文件考入 C\ProgramAdobeFiles\Adobe\Adobe Photoshop CS3\预置\脚本目录下就可以了。
64位CS5.1版,将JSZ文件复制到文件夹“C:\Program Files\Adobe\Adobe Photoshop CS5.1 (64 Bit)\Presets\Scripts”中。
3、打开ps,点击文件-脚本-该文件名,出现对话框,按照提示做就是了。
这个版本的脚本原作者逸之在头头是道版本的基础上做了如下修改:
1. 保留头头是道的作者名录入,图像说明录入,可选exif信息,字体和文字色彩,镜头选择,边框宽度选择,边框颜色选择,标签位置,logo等功能。
2. 增加内边线颜色选择,加粗了内边线。
3. 增加了图像侧边有无选项。
4. 对原对话框排版、字号、镜头种类做了少许改动。
5 针对喜欢自己喜欢根据自己需要调整程序的朋友,在可以改动地方增加了注释。为方便查找,本人在这些地方做“@@@@@@@@@@@@@@@@@@@@@@@@@@@@@”来标记
6. 字号选择改为计算设置,不再需要人工选择了。如果还愿意人工设置,请保留手工版。
7. 增加了镜头直接从exif文件中读取。需要说明一点,经过不同软件处理的exif信息有改动,镜头信息经常没有了,这时还需要人工输入。
8. 增加了测光模式,这是exif中的标准信息,应该没有什么问题
9. 增加了曝光程序,这是exif中的标准信息,应该没有什么问题
10. 为保证竖图边框需要的空间,将日期和时间提到主题说明行,相应修改了字号和行间距的算法
11. 增加了4个logo打印位置(共6个):边框上左侧;边框上右侧;图上上左;图上上右;图上下左;图上下右。
6 此脚本可以直接用在cs2和cs3、cs5.1上。
7 本脚本最后改动的日期为:2011年12月5日
====================================================================================
以下为网事在逸之版本上所作修改的说明
1、增加了是否拼合图层的选项
2、增加了是否改变大小的选项(等比缩小不放大)
3、增加了Logo文件是否存在的验证,避免选择使用Logo却找不到文件时会出错
4、增加了保存配置和读取配置的选项,这样不用修改源文件才能保存自己的信息了
5、增加了添加宝宝生日的功能
6、自动加载之前保存的配置信息,不用手工加载了
此文件里获取exif信息的方式比较复杂,其实用以下方式可以取得:
var docRef = app.activeDocument;
var docInfoRef = docRef.info;
var infoStr="";
for (var i=0;i<docInfoRef.exif.length;i++)
{
infoStr+=docInfoRef.exif[i][0] + ':' + docInfoRef.exif[i][1] + '\r';
}
var white = new SolidColor();
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
//添加文字图层
var nameLayer = docRef.artLayers.add();
nameLayer.kind = LayerKind.TEXT;
var TI = nameLayer.textItem;
//设定文字图层的位置,字体,颜色等参数
TI.position = [4,20];
TI.font = "SimHei";
TI.size = 16;
TI.color = white;
TI.contents=infoStr;
此方法取出来的信息在我这边是中文的,考虑到其它地方可能是英文,有兼容问题所以未使用
如果知道中英文两个版本不同的描述对应信息就可以弄个通用版本了
例如
'F-Stop'对应'光圈大小'
'Exposure Time'对应'曝光时间'
测试环境为CS5(12.0.3),32位系统,其它环境没有测试
本来还想加些批量处理的功能,晚点再看看吧,如果哪位大师有更好的修改希望可以分享:)
邮件: aaa@qq.com
2011-12-22冬至日
====================================================================================
*/
界面:
加上边框的效果:
文字图层是分开的,可以再加效果,方便编辑。
由于脚本比较大,放在下面的地址:
http://download.csdn.net/detail/apollokk/5806613