主题:数码相片Exif边框脚本俱乐部 [主题管理员:头头是道]
正序浏览
主题图片汇总
主题内检索
浏览:197401 回帖:1222
游客没有回帖权限
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
/*   
逸之的说明:
这是使用※※※※※※※※※※语言编写的cs专用脚本。cs3的帮助里有说明。
本脚本是我在“头头是道”和“试试”资深脚本的基础上修改的,增加了一些内容和选项。原以为有了《光影魔术手》以后,这个就没有人用了。现在看来,还有一些摄友喜欢。
由于本人没有链接的方法,所以直接考到贴上,大家可以Ctrl+c考下来,Ctrl+v直接粘到记事本里,保存后,将该txt扩展名直接改为jsx。
并将该文件考入X\ProgramAdobeFiles\Adobe\Adobe Photoshop CS3\预置\脚本目录下。

这个版本的脚本我做了如下修改:
1. 保留头头是道的作者名录入,图像说明录入,可选exif信息,字体和文字色彩,镜头选择,边框宽度选择,边框颜色选择,标签位置,logo等功能。
2. 增加内边线颜色选择,加粗了内边线。
3. 增加了图像侧边有无选项。
4. 对原对话框排版、字号、镜头种类做了少许改动。
5  针对喜欢自己喜欢根据自己需要调整程序的朋友,在可以改动地方增加了注释。为方便查找,本人在这些地方做“@@@@@@@@@@@@@@@@@@@@@@@@@@@@@”来标记
6  此脚本可以直接用在cs2和cs3上。我没有用cs4,需要的摄友可以按照本贴上其它摄友的方法修改。
7  本脚本最后改动的日期为:2009年1月27日

2009年2月28日又做了如下修改:
1. 字号选择改为计算设置,不再需要人工选择了。如果还愿意人工设置,请保留手工版。
2. 增加了镜头直接从exif文件中读取。需要说明一点,经过不同软件处理的exif信息有改动,镜头信息经常没有了,这时还需要人工输入。
3. 增加了测光模式,这是exif中的标准信息,应该没有什么问题
4. 增加了曝光程序,这是exif中的标准信息,应该没有什么问题
5. 为保证竖图边框需要的空间,将日期和时间提到主题说明行,相应修改了字号和行间距的算法
6. 修改了竖图边框信息输出的两个bug。
7. 增加了4个logo打印位置(共6个):边框上左侧;边框上右侧;图上上左;图上上右;图上下左;图上下右。
用法:复制文本到windows记事本txt文本中,文件备份,将文件名后缀改为jsx,并将该文件考入  X\ProgramAdobeFiles\Adobe\Adobe Photoshop CS3\预置\脚本目录下就可以了。
打开ps,点击文件-脚本-该文件名,出现对话框,按照提示做就是了。

1、本脚本用于提取数码相片的Exif信息,输入相片主题和说明文字,选择Logo标志,为相片加框。经测试,本脚本在Photoshop CS2中应用成功。
注意。相片中需包含有Exif信息,否则运行脚本时将出错。另外相片短边尺寸最好不要小于450像数。
2、在两种情况下,需要用户用记事本打开本脚本并修改相关内容。一个是当你选择打印镜头信息时,需要先修改脚本中的镜头型号。另一个是当你从下拉列表中直接选择本脚本默认设置的Logo时,需要先修改脚本中的Logo显示文本及其文件位置。注意:Logo图片可为透
明的PSD文件或GIF文件,Logo高度不要超过50像素。Logo路径在脚本中可使用/号或者使用\\号,不能使用\号。
3、脚本调用方法:将压缩包内的JSX文件释放在一个地方,打开PS,打开“文件”,打开“脚本”,打开“浏览”,指定刚才释放的JSX文件。或者:如果是中文版Photoshop,将JSX文件复制到文件夹“C:\Program Files\Adobe\Adobe Photoshop CS2\预置\脚本”中。如果是英文版,
则将JSX文件复制到文件夹“C:\Program Files\Adobe\Adobe Photoshop CS2\Presets\Scripts”中。
4、本脚本中所采用的读取EFIF信息的源程序源于互联网。原作者已无法可考。特此向原作者致敬!本脚本的下拉列表模块感谢无忌论坛的真皮小熊提供。
5、作者收集的一些好字体,建议大家下载安装使用。
字库下载地址:http://220.174.221.7/soft/ttf.rar。
字库安装方法:释放压缩包内的TTF文件,打开“控制面板”,打开“字体”,打开“文件”菜单,打开“安装新字体”后,指定需要安装的字体所在位置。
6、本脚本作者网站:http://bbs_yibai_com_cn,QQ:10096906,Email:hainan@263.net.cn。本脚本源代码具有非常详细的注释和说明,请爱好者视自己要求自行修改。使用中遇到问题的,可与作者联系。
7、本帖子提及的边框脚本,作者将随时给予更新,以实现增强功能或修正Bug之目的。最新脚本下载地址:
http://220.174.221.7/soft/PS_Frame.rar
8、该脚本最后更新日期为:2005年9月2日。
*/

//------------- Main script Begin ------------
var colorErr = "边框灰度值输入错误!" + "\n" + "系统将默认为黑色。";
var noLens = '<不显示镜头信息>';
var noLogo = '<不打印Logo>';
var selectLogo = '通过对话框手动选择Logo文件';
var titleColor = new SolidColor(); //主题文字颜色
var msgColor = new SolidColor(); //说明文字颜色
var infoColor = new SolidColor(); //拍摄信息文字颜色
var frameColor = new SolidColor(); //外边框颜色
var lineColor = new SolidColor(); //内线颜色
var titleFontColor; //主题颜色名称
var msgFontColor; //说明文字颜色名称
var infoFontColor; //拍摄信息颜色名称
var colors = new Array(); //颜色值数组
var colorNames = new Array(); //颜色名称数组
//1. 存放测光模式和曝光程序信息翻译成汉字的数组说明$
var meteringMode1 = new Array(); //测光模式
var exposurePro1 = new Array(); //曝光程序
var frameSide = 1; //文字的位置代码。1为下面,2为右面,3为左面
var myLogo = new Array(); //定义相片Logo列表文本
var myLogoFile = new Array(); //定义相片Logo文件位置
var frameWidthRadiobutton3;

//读取系统字体,定义字体名称及PostScript name of the font
// chinese font names
var chineseFonts = new Array();

chineseFonts['CTBiaoSongSF'] = '创艺繁标宋';
chineseFonts['CTChaoHeiSF'] = '创艺繁超黑';
chineseFonts['CTCaiYunSF'] = '创艺繁彩云';
chineseFonts['CTFangSongSF'] = '创艺繁仿宋';
chineseFonts['CTHeiTiSF'] = '创艺繁黑体';
chineseFonts['CTHuPoSF'] = '创艺繁琥珀';
chineseFonts['CTKaiTiSF'] = '创艺繁楷体';
chineseFonts['CTLiShuSF'] = '创艺繁隶书';
chineseFonts['CTSongTiSF'] = '创艺繁宋体';
chineseFonts['CTWeiBeiSF'] = '创艺繁魏碑';
chineseFonts['CTXianTiSF'] = '创艺繁线体';
chineseFonts['CTXiYuanSF'] = '创艺繁细圆';
chineseFonts['CTCuYuanSF'] = '创艺繁粗圆';
chineseFonts['CTZongYiSF'] = '创艺繁综艺';
chineseFonts['FQiTi'] = '迷你繁启体';
chineseFonts['FZuanSu'] = '迷你繁篆书';
chineseFonts['FZCaiYun-M09S'] = '方正彩云简体';
chineseFonts['FZCuYuan-M03S'] = '方正粗圆简体';
chineseFonts['FZHuPo-M04S'] = '方正琥珀简体';
chineseFonts['FZKai-Z03S'] = '方正楷体简体';
chineseFonts['FZLiBian-S02S'] = '方正隶扁简体';
chineseFonts['FZLiShu II-S06S'] = '方正隶二简体';
chineseFonts['FZLiShu-S01S'] = '方正隶书简体';
chineseFonts['FZShuTi-S05S'] = '方正舒体简体';
chineseFonts['FZWeiBei-S03S'] = '方正魏碑简体';
chineseFonts['FZXingKai-S04S'] = '方正行楷简体';
chineseFonts['FZXiYuan-M01S'] = '方正细圆简体';
chineseFonts['FZZhunYuan-M02S'] = '方正准圆简体';
chineseFonts['FangSong_GB2312'] = '仿宋_GB2312';
chineseFonts['STFangsong'] = '华文仿宋_GB2312';
chineseFonts['FZShuTi'] = '方正舒体';
chineseFonts['FZYaoTi'] = '方正姚体';
chineseFonts['STCaiyun'] = '华文彩云';
chineseFonts['STXihei'] = '华文细黑';
chineseFonts['LiSu'] = '隶书';
chineseFonts['STXinwei'] = '华文新魏';
chineseFonts['STXingkai'] = '华文行楷';
chineseFonts['STZhongsong'] = '华文中宋';
chineseFonts['SimSun-18030'] = '宋体';
chineseFonts['SimSun-PUA'] = '宋体-PUA';
chineseFonts['Simsun (Founder Extended)'] = '宋体(Founder Extended)';
chineseFonts['YouYuan'] = '幼圆';
chineseFonts['NSimSun'] = '新宋体';
chineseFonts['KaiTi_GB2312'] = '楷体_GB2312';
chineseFonts['MS Hei'] = 'MS 黑体';
chineseFonts['MS Song'] = 'MS 宋体';
chineseFonts['NSimSun-18030'] = '新宋体-18030';
chineseFonts['Pop3EG-Bold-T-GB'] = '长城广告体繁';
chineseFonts['ShiansaEG-Medium-GB'] = '文鼎潇洒体';
chineseFonts['SimHei'] = '黑体';
chineseFonts['SimSun'] = '宋体';

//字体中文菜单转换
var allFonts = app.fonts;
var myFonts = new Array();
var fontPSNames = new Array();
for (j=0;j<allFonts.length;j++) {
tmp = chineseFonts[allFonts[j].family] ? chineseFonts[allFonts[j].family] : allFonts[j].family;
if (! fontPSNames[tmp]) {
fontPSNames[tmp] = allFonts[j].postScriptName;
myFonts.push(tmp);
}
}

/*
//读取系统字体,定义字体名称及PostScript name of the font
var myFonts = new Array();
var fontPSNames = new Array();
for (j = 0;j < fonts.length;j ++)
{
if (! fontPSNames[fonts[j].family])
{
fontPSNames[fonts[j].family] = fonts[j].postScriptName;
myFonts.push(fonts[j].family);
}
}
*/

var builder = createBuilderDialog(); //定义对话框内容
initializeBuilder(builder); //初始化状态值
if (runBuilder(builder) == 1)
{
var resSpec = createFrame(builder); //创建边框
}
//------------- Main script End -------------

/*
/自动版/计算选择字号,此定义已经无用。
var myFontSizes = new Array(); //定义字体字号
myFontSizes[0] = 10;
myFontSizes[1] = 12;
myFontSizes[2] = 14;
myFontSizes[3] = 16;
myFontSizes[4] = 20;
myFontSizes[5] = 24;
myFontSizes[6] = 30;
myFontSizes[7] = 36;
myFontSizes[8] = 48;
myFontSizes[9] = 55;
myFontSizes[10] = 60;
myFontSizes[11] = 80;
myFontSizes[12] = 100;
*/
//定义设置对话框 开始
//定义设置对话框 开始

function createBuilderDialog()
{
var myLens = new Array();
myLens[0] = noLens; //请不要改动该行
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@以下镜头型号的字符串赋值可以根据自己的需要更改,注意不要破坏引号。
myLens[1] = 'SIGMA AF 18-125mm F3.5-5.6 DC';
myLens[2] = 'CANON EF 50mm F/1.8Ⅱ';
myLens[3] = 'Olympus Zuiko Digital 14-45mm';
myLens[4] = 'AFS24-70mm/2.8G';
myLens[5] = '';
    myLens[6] = '';
myLens[7] = '';
myLens[8] = '';
myLens[9] = '';
myLens[10] = '';
myLens[11] = '';
myLens[12] = '';
myLens[13] = '';
myLens[14] = '';
myLens[15] = '';
myLens[16] = '';
myLens[17] = '';
myLens[18] = '';
myLens[19] = '';
myLens[20] = '';
myLens[21] = '';

//定义Logo。
myLogo[0] = noLogo; //请不要改动该行
myLogoFile[myLogo[0]] = '';
myLogo[1] = selectLogo; //请不要改动该行
myLogoFile[myLogo[1]] = '';
myLogo[2] = '60×40 手写Logo'; //请改成你想要的内容。你可以根据自己的情况按照序号增加或者删除Logo列表。你也可以注释掉以下4行而不进行其它修改。
myLogoFile[myLogo[2]] = 'D:\\301029-自拍数字照片\\060620-台式机处理的照片\\090215-logo自用'; //Logo图片位置,可为透明的PSD文件或GIF文件,Logo高度不要超过50像素。路径可使用/号或者使用\\号,不能使用\号
myLogo[3] = '60×40 印章Logo'; //请改成你想要的内容
myLogoFile[myLogo[3]] = 'D:\\301029-自拍数字照片\\060620-台式机处理的照片\\090215-logo自用'; //Logo图片位置。



//________________________设置对话框界面文字内容__________________________________
var optionTitle = '相片边框信息设置[Build 2009-02-02]';
var msgPnlTitle = '输入信息';
var titleDescription = '主题文字';

var titleEditText = '';
var fontSizeDescription = '字号';
var fontDescription = '字体';
var msgDescription = '相片作者';

//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@可以在下条中将自己的名字填上,就不用每次制作边框时输入自己名字了。
var msgEditText = '修改程序,填上自己的名字';


var lensDescription = '镜头信息';
var frameWidthDescription = '边框宽度';
var frameWidthRadiobutton1 = '宽边';
var frameWidthRadiobutton2 = '窄边';
var sidewidth0 = '侧边选项';
var sidewidth1 = '有侧边';
var sidewidth2 = '无侧边';
var frameColorDescription = '        边框颜色';
var frameColorNote = '(0为黑色,255为白色)';
var labelSideDescription = '标签位置';
var labelSideText0 = '自动';
var labelSideText1 = '下边';
var labelSideText2 = '右边';
var labelSideText3 = '左边';
var labelSideNote = '(自动:横幅时为下边,竖幅时为右边)';
var okDescription = '确定';
var cancelDescription = '取消';
var colorDescription = '颜色';
var infoSelectText = '拍摄信息';
var infoModelText = '相机型号';
var infoShutterText = '快门';
var infoFText =  '光圈';
var infoISOText = 'ISO';
var infoTText = '曝光补偿';
var infoFocalText = '焦距';
var infoFiredText = '闪光模式';

//2. 面板提示标题说明并赋值
//加一个测光模式090209-1545
var MeteringModetext ='测光模式';
//加一个曝光程序
var ExposureProgramtext = '曝光程序';
var infoDateText = '拍摄日期';
var infoTimeText = '拍摄时间';
var logoDescription = '相片Logo';
var logoSideDescription = '        Logo位置';
var logoSideLeft = '边框上左侧';
var logoSideRight = '边框上右侧';
var logoSideLeft1 ='图上面下左';
var logoSideRight1 = '图上面下右';
var logoSideLeft2 ='图上面上左';
var logoSideRight2 = '图上面上右';
var linecolortext = '内线颜色'; //对话框显示“内线颜色”赋值

//定义颜色名称及颜色值。用户可以改为自己喜欢的颜色
//list of color from http://zh.※※※※※※※※※.org/w/index.php?title=%E9%A1%8F%E8%89%B2%E5%88%97%E8%A1%A8
colorNames[0] = '红色';
colors[colorNames[0]] = [255,0,0];
colorNames[1] = '猩红色';
colors[colorNames[1]] = [255,36,0];
colorNames[2] = '朱红色';
colors[colorNames[2]] = [255,77,0];
colorNames[3] = '橙色';
colors[colorNames[3]] = [255,165,0];
colorNames[4] = '琥珀色';
colors[colorNames[4]] = [255,191,0];
colorNames[5] = '金色';
colors[colorNames[5]] = [255,215,0];
colorNames[6] = '黄色';
colors[colorNames[6]] = [255,255,0];
colorNames[7] = '柠檬绿色';
colors[colorNames[7]] = [204,255,0];
colorNames[8] = '黄绿色';
colors[colorNames[8]] = [102,255,0];
colorNames[9] = '绿色';
colors[colorNames[9]] = [0,255,0];
colorNames[10] = '青色';
colors[colorNames[10]] = [0,255,255];
colorNames[11] = '蔚蓝色';
colors[colorNames[11]] = [0,127,255];
colorNames[12] = '蓝色';
colors[colorNames[12]] = [0,0,255];
colorNames[13] = '紫色';
colors[colorNames[13]] = [139,0,255];
colorNames[14] = '品红色';
colors[colorNames[14]] = [255,0,255];
colorNames[15] = '栗色';
colors[colorNames[15]] = [128,0,0];
colorNames[16] = '橙黄色';
colors[colorNames[16]] = [255,204,0];
colorNames[17] = '橄榄色';
colors[colorNames[17]] = [128,128,0];
colorNames[18] = '春绿色';
colors[colorNames[18]] = [0,255,128];
colorNames[19] = '鸭绿色';
colors[colorNames[19]] = [0,128,128];
colorNames[20] = '※※蓝';
colors[colorNames[20]] = [0,0,128];
colorNames[21] = '靛色';
colors[colorNames[21]] = [75,0,128];
colorNames[22] = '白色';
colors[colorNames[22]] = [255,255,255];
colorNames[23] = '银色';
colors[colorNames[23]] = [192,192,192];
colorNames[24] = '灰色';
colors[colorNames[24]] = [128,128,128];
colorNames[25] = '暗灰色';
colors[colorNames[25]] = [64,64,64];
colorNames[26] = '黑色';
colors[colorNames[26]] = [0,0,0];
colorNames[27] = '肉色';
colors[colorNames[27]] = [255,140,105];
colorNames[28] = '桃色';
colors[colorNames[28]] = [255,229,180];
colorNames[29] = '奶油色';
colors[colorNames[29]] = [255,253,208];
colorNames[30] = '米色';
colors[colorNames[30]] = [245,245,220];
colorNames[31] = '熏衣草色';
colors[colorNames[31]] = [230,230,250];
colorNames[32] = '兰花色';
colors[colorNames[32]] = [218,112,214];
colorNames[33] = '粉红色';
colors[colorNames[33]] = [255,192,203];
colorNames[34] = '珊瑚红';
colors[colorNames[34]] = [255,127,80];
colorNames[35] = '燃橙色';
colors[colorNames[35]] = [204,85,0];
colorNames[36] = '古铜色';
colors[colorNames[36]] = [184,115,51];
colorNames[37] = '赭色';
colors[colorNames[37]] = [204,119,34];
colorNames[38] = '墨褐色';
colors[colorNames[38]] = [112,66,20];
colorNames[39] = '宝石绿';
colors[colorNames[39]] = [80,200,120];
colorNames[40] = '樱桃色';
colors[colorNames[40]] = [222,49,99];
//3. 光模式和曝光程序信息翻译成汉字
//测光模式转换赋值
meteringMode1[0] = "";
meteringMode1[1] = "平均测光";
meteringMode1[2] = "※※重点平均";
meteringMode1[3] = "点测光";
meteringMode1[4] = "分区测光";
meteringMode1[5] = "矩阵测光"
meteringMode1[6] =  "局部平均测光";

//曝光程序赋值
exposurePro1[1] = "M";
exposurePro1[2] = "P";
exposurePro1[3] = "A";
exposurePro1[4] = "S";
exposurePro1[0] = "";
/*白平衡,photoshop cs3不认识其中的一部分,D200,D300均不认识
lightSource[0]="未知";
lightSource[1]="未知";
lightSource[2]="未知";
lightSource[3]="白织灯";
lightSource[4]="闪光灯";
lightSource[5]="未知";
lightSource[7]="未知";
lightSource[8]="未知";
lightSource[9]="直射日光";
lightSource[10]="阴天";
lightSource[11]="阴影";
lightSource[12]="未知";
lightSource[13]="未知";
lightSource[14]="荧光灯";
lightSource[15]="未知";
lightSource[16]="未知";
*/
var dlg = new Window('dialog', optionTitle);
dlg.alignChildren = 'center';
dlg.orientation = 'column';
dlg.msgPnl = dlg.add('group');  
dlg.msgPnl = dlg.add('panel', undefined, msgPnlTitle);
dlg.msgPnl.title = dlg.msgPnl.add('group'); //主题
dlg.msgPnl.msg = dlg.msgPnl.add('group'); //说明文字
dlg.msgPnl.lens = dlg.msgPnl.add('group'); //拍摄信息
dlg.msgPnl.photoInfo = dlg.msgPnl.add('group'); //选择拍摄信息
dlg.msgPnl.photoInfo2 = dlg.msgPnl.add('group'); //第二组选择拍摄信息
dlg.msgPnl.frameWidthh = dlg.msgPnl.add('group'); //边框宽度
dlg.msgPnl.labelSide = dlg.msgPnl.add('group'); //标签位置
dlg.msgPnl.logo = dlg.msgPnl.add('group'); //相片Logo
dlg.msgPnl.logo1 = dlg.msgPnl.add('group'); //第二组相片Logo位置
dlg.msgPnl.linecolordlg = dlg.msgPnl.add('group'); //选择内线颜色
dlg.msgPnl.sidewidth = dlg.msgPnl.add('group'); //侧边选项

//建立窗口"确定","取消"按钮面板
dlg.btnPnl = dlg.add('group');
dlg.btnPnl.orientation = "row";
dlg.btnPnl.okBtn = dlg.btnPnl.add('button', undefined, okDescription, {name:'ok'});
dlg.btnPnl.cancelBtn = dlg.btnPnl.add('button', undefined, cancelDescription, {name:'cancel'});

with (dlg.msgPnl)
{
alignChildren = 'fill';
//相片作者的字号、字体、颜色默认设定,可以根据需要修改默认值。
title.st = title.add('statictext', undefined, titleDescription);
title.et = title.add('edittext', undefined, titleEditText,{multiline:false});
title.et.preferredSize = [250,20];
title.titleFontSizeSt = title.add('statictext', undefined, undefined);
title.titleFontSt = title.add('statictext', undefined, fontDescription);
title.titleFontEt = title.add('dropdownlist', undefined, myFonts);
title.titleFontEt.selection = 18; //指定主题文字字体默认值索引数。从0开始计数。
title.titleColorsSt = title.add('statictext', undefined, colorDescription);
title.titleColorsEt = title.add('dropdownlist', undefined, colorNames);
title.titleColorsEt.selection = 5; //指定主题文字颜色默认值索引数。从0开始计数。
//说明文字的字号、字体、颜色默认设定,可以根据需要修改默认值。见上面相片作者的字号、字体、颜色默认设定说明。
msg.st = msg.add('statictext', undefined, msgDescription);
msg.et = msg.add('edittext', undefined, msgEditText,{multiline:false});
msg.et.preferredSize = [250,20];
msg.msgFontSizeSt = msg.add('statictext', undefined, undefined);
msg.msgFontSt = msg.add('statictext', undefined, fontDescription);
msg.msgFontEt = msg.add('dropdownlist', undefined, myFonts);
msg.msgFontEt.selection = 18; //指定说明文字字体默认值索引数。从0开始计数。
msg.msgColorsSt = msg.add('statictext', undefined, colorDescription);
msg.msgColorsEt = msg.add('dropdownlist', undefined, colorNames);
msg.msgColorsEt.selection =5; //指定说明文字颜色默认值索引数。从0开始计数。

//拍摄参数的字号、字体、颜色默认设定,可以根据需要修改默认值,见上面相片作者的字号、字体、颜色默认设定说明。
lens.st = lens.add('statictext', undefined, lensDescription);
lens.et = lens.add('dropdownlist', undefined, myLens);
lens.et.selection = 0; //指定镜头型号默认值索引数。从0开始计数。
lens.et.preferredSize = [250,20];
lens_infoFontSizeSt = lens.add('statictext', undefined, undefined);
lens_infoFontSt = lens.add('statictext', undefined, fontDescription);
lens_infoFontEt = lens.add('dropdownlist', undefined, myFonts);
lens_infoFontEt_selection = 21; //指定拍摄信息字体默认值索引数。从0开始计数。
lens_infoColorsSt = lens.add('statictext', undefined, colorDescription);
lens_infoColorsEt = lens.add('dropdownlist', undefined, colorNames);
lens_infoColorsEt_selection = 5; //指定拍摄信息文字颜色默认值索引数。从0开始计数。

//选择拍摄信息的默认值。true为默认勾选,false为不勾选
photoInfo.text = photoInfo.add('statictext', undefined, infoSelectText);
photoInfo_infoModel = photoInfo.add('checkbox', undefined, infoModelText);
photoInfo_infoModel_value = true; //新机型号
photoInfo_infoShutter = photoInfo.add('checkbox', undefined, infoShutterText);
photoInfo_infoShutter_value = true;//快门速度
photoInfo_infoF = photoInfo.add('checkbox', undefined, infoFText);
photoInfo_infoF_value = true;//光圈
photoInfo_infoISO = photoInfo.add('checkbox', undefined, infoISOText);
photoInfo_infoISO_value = true;//感光度
photoInfo_infoT = photoInfo.add('checkbox', undefined, infoTText);
photoInfo_infoT_value =false;//曝光补偿
photoInfo_infoFocal = photoInfo.add('checkbox', undefined, infoFocalText);
photoInfo_infoFocal_value = true;//焦距
photoInfo.MeteringModetext = photoInfo.add('checkbox', undefined, MeteringModetext);
photoInfo.MeteringModetext.value =true;//测光模式
photoInfo.ExposureProgramtext = photoInfo.add('checkbox', undefined, ExposureProgramtext);
photoInfo.ExposureProgramtext.value =true;//曝光程序
photoInfo_infoFired = photoInfo.add('checkbox', undefined, infoFiredText);
photoInfo_infoFired_value =false;//闪光灯
//第二组拍摄信息
photoInfo2.text = photoInfo2.add('statictext', undefined, infoSelectText);
photoInfo2_infoDate = photoInfo2.add('checkbox', undefined, infoDateText);
photoInfo2_infoDate_value = true; //拍摄日期
photoInfo2_infoTime = photoInfo2.add('checkbox', undefined, infoTimeText);
photoInfo2_infoTime_value =false;//拍摄时间

//边框宽度
frameWidthh.st = frameWidthh.add('statictext', undefined, frameWidthDescription);
frameWidthh.frameWidth1 = frameWidthh.add('radiobutton', undefined, frameWidthRadiobutton1);
frameWidthh.frameWidth2 = frameWidthh.add('radiobutton', undefined, frameWidthRadiobutton2);
frameWidthh.frameColorSt = frameWidthh.add('statictext', undefined, frameColorDescription);
frameWidthh.frameColorsEt = frameWidthh.add('dropdownlist', undefined, colorNames);
frameWidthh.frameColorsEt.selection = 25; //边框颜色默认设定

//内线颜色
linecolordlg.st = linecolordlg.add('statictext', undefined, linecolortext); //对话框显示“内线颜色”提示
linecolordlg.linecolorsEt = linecolordlg.add('dropdownlist', undefined, colorNames); //对话框建立颜色选择下拉窗口
linecolordlg.linecolorsEt.selection = 0; //内线颜色默认设定

//侧边选项
sidewidth.st = sidewidth.add('statictext', undefined, sidewidth0); //对话框显示“侧边选项”提示
sidewidth.sidewidth1 = sidewidth.add('radiobutton', undefined, sidewidth1); //对话框显示侧边选项按钮
sidewidth.sidewidth2 = sidewidth.add('radiobutton', undefined, sidewidth2); //对话框显示侧边选项按钮

//标签位置
labelSide.st = labelSide.add('statictext', undefined, labelSideDescription);
labelSide.labelSide0 = labelSide.add('radiobutton', undefined, labelSideText0);
labelSide.labelSide1 = labelSide.add('radiobutton', undefined, labelSideText1);
labelSide.labelSide2 = labelSide.add('radiobutton', undefined, labelSideText2);
labelSide.labelSide3 = labelSide.add('radiobutton', undefined, labelSideText3);
labelSide.st = labelSide.add('statictext', undefined, labelSideNote);

//相片Logo
logo.st = logo.add('statictext', undefined, logoDescription);
logo.et = logo.add('dropdownlist', undefined, myLogo);
logo.et.selection = 1; //指定Logo默认值索引数。从0开始计数。
logo.et.preferredSize = [250,20];
logo1.st = logo1.add('statictext', undefined, logoSideDescription);
logo1.logoSide1 = logo1.add('radiobutton', undefined, logoSideLeft);//边框上左
logo1.logoSide2 = logo1.add('radiobutton', undefined, logoSideRight);//边框上右
logo1.logoSide3 = logo1.add('radiobutton', undefined, logoSideLeft1);//图上下左
logo1.logoSide4 = logo1.add('radiobutton', undefined, logoSideRight1); //图上下右
// logo1.st = logo1.add('statictext', undefined, logoDescription);
logo1.logoSide5 = logo1.add('radiobutton', undefined, logoSideLeft2);//图上上左
logo1.logoSide6 = logo1.add('radiobutton', undefined, logoSideRight2); //图上下右
}

dlg.center(); //设置对话框为屏幕中心位置
return dlg;
}
//____________________ 定义设置对话框 结束___________________________________

// 初始化设置区信息
function initializeBuilder(builder)
{
with (builder)
{
btnPnl.okBtn.onClick   = function () { this.parent.parent.close(1);};
btnPnl.cancelBtn.onClick = function () { this.parent.parent.close(2);};

with (msgPnl)
{
frameWidthh.frameWidth1.value = true; //默认边框宽度为宽边
//frameWidthh.frameWidth2.value = true; //默认边框宽度为窄边

sidewidth.sidewidth2.value = true; //默认无侧边
// sidewidth.sidewidth1.value = true; //默认有侧边

// labelSide.labelSide0.value = true; //标签位置默认值为自动
labelSide.labelSide1.value = true; //标签位置默认值为下边
// labelSide.labelSide2.value = true; //标签位置默认值为右边
// labelSide.labelSide3.value = true; //标签位置默认值为左边

// logo1.logoSide1.value = true; //Logo位置默认值为边框左
// logo1.logoSide2.value = true; //Logo位置默认值为边框右
// logo1.logoSide3.value = true; //Logo位置默认值为图上下左
logo1.logoSide4.value = true; //Logo位置默认值为图上下右
// logo1.logoSide5.value = true; //Logo位置默认值为图上上左
// logo1.logoSide6.value = true; //Logo位置默认值为图上上右


}
}
}

// 调用并返回对话框的结果
function runBuilder(builder)
{
return builder.show();
}
//分解Exif信息中的字符串。该获取Exif信息的方法引用于互联网上。本人觉得该方法不是太好,效率低,应该从XML格式文件中直接提取相关元素信息
function explodeArray(item) {
var i=0;
var Count=0;
var tempString=new String(item);
tempArray=new Array(1);

do{
i=tempString.indexOf(":");
if(i>0)
tempString=tempString.substr(i+1,tempString.length-i-1);
i=tempString.indexOf(">");
if(i>0) {
tempArray[Count]=tempString.substr(0,i);
tempString=tempString.substr(i+1,tempString.length-i-1);
Count ++;
}
i=tempString.indexOf("<");
if(i>0) {
tempArray[Count]=tempString.substr(0,i);
tempString=tempString.substr(i-1,tempString.length-i+1);
Count ++;
}
}while (tempString.indexOf("</x:xmpmeta>")>0);

tempArray[Count]=tempString;
return tempArray;
}

//生成相片边框动作
function createFrame(builder)
{
//AD = activeDocument; //在原相片上添加边框
var AD = activeDocument.duplicate(); //在相片的副本上添加边框
var photoWidth = AD.width.value; //图片宽度
var photoHeight = AD.height.value; //图片高度

if (photoWidth < photoHeight) //如果图片高度大于宽度则选择右侧标注文字
frameSide = 2;

if (builder.msgPnl.labelSide.labelSide1.value) //选择下侧标注文字
frameSide = 1;

if (builder.msgPnl.labelSide.labelSide2.value) //选择右侧标注文字
frameSide = 2;

if (builder.msgPnl.labelSide.labelSide3.value) //选择左侧标注文字
frameSide = 3;

switch (frameSide)
{
case 2:
app.activeDocument.rotateCanvas(90.0); //如果选择右侧标注文字则90度旋转
break;
case 3:
app.activeDocument.rotateCanvas(-90.0); //如果选择左侧标注文字则-90度旋转
break;
}

var title = builder.msgPnl.title.et.text; //获取相片作者
if(title!='')
title='《'+title+'》';
var body = builder.msgPnl.msg.et.text; //获取说明文字
var lens = builder.msgPnl.lens.et.selection.text; //获取镜头型号
var exiflens = builder.msgPnl.lens.et.selection.text; //获取镜头型号,用于是否使用exif镜头信息判别
var logoType = builder.msgPnl.logo.et.selection.text; //获取Logo信息
var photoWidth2 = photoWidth;
var photoHeight2 = photoHeight;



//————————————————根据图像大小判断选取字号。————————————————————————
if(photoWidth>=2000|| photoHeight>=2000)
{
if(photoWidth>= photoHeight)
{
var lFontSize=photoWidth/60;
var rFontSize=photoWidth/60;
var infoFontSize=(photoWidth/1000)*16;
}
else {
var lFontSize=photoHeight/65;
var rFontSize=photoHeight/65;
var infoFontSize=(photoHeight/1050)*16;
}
}
else
{
if(photoWidth>= photoHeight)
{
var lFontSize=photoWidth/50;
var rFontSize=photoWidth/50;
var infoFontSize=(photoWidth/900)*16;
}
else {
var lFontSize=photoHeight/50;
var rFontSize=photoHeight/50;
var infoFontSize=(photoHeight/950)*16;
}
}
//————————————————根据图像大小判断选取字号结束————————————————————————

var infoHeight = 0 //拍摄信息高度调整
titleFontColor = builder.msgPnl.title.titleColorsEt.selection.text; //获取主题颜色名称
msgFontColor = builder.msgPnl.msg.msgColorsEt.selection.text; //获取说明文字颜色名称
infoFontColor = builder_msgPnl_lens_infoColorsEt_selection_text; //获取拍摄信息颜色名称
frameColor = builder.msgPnl.frameWidthh.frameColorsEt.selection.text; //获取边框颜色名称
lineColor = builder.msgPnl.linecolordlg.linecolorsEt.selection.text; //获取内线颜色名称
var logoFilePath = null; //
var kColor = new SolidColor(); //边框底色
var fColor = new SolidColor(); //内边线色
var rColor = new SolidColor(); //右边字体颜色
if (logoType == selectLogo) //手动选择Logo
{
logoFilePath = File.openDialog('请选择Logo文件','Logo Files:*.GIF;*.PSD');
if(logoFilePath != null)
{
var logofile = new File(logoFilePath);
}
}
else //否则正常处理
{
var logoFilePath = myLogoFile[logoType];
var logofile = new File(logoFilePath);
}

titleColor.rgb.red = colors[titleFontColor][0];
titleColor.rgb.green = colors[titleFontColor][1];
titleColor.rgb.blue = colors[titleFontColor][2];

msgColor.rgb.red = colors[msgFontColor][0];
msgColor.rgb.green = colors[msgFontColor][1];
msgColor.rgb.blue = colors[msgFontColor][2];

infoColor.rgb.red = colors[infoFontColor][0];
infoColor.rgb.green = colors[infoFontColor][1];
infoColor.rgb.blue = colors[infoFontColor][2];

//边框颜色
//alert("It has been written to " + frameColor);
kColor.rgb.red = colors[frameColor][0];
kColor.rgb.green = colors[frameColor][1];
kColor.rgb.blue = colors[frameColor][2];
//内边线色
fColor.rgb.red = colors[lineColor][0];
fColor.rgb.green = colors[lineColor][1];
fColor.rgb.blue = colors[lineColor][2];

//如果有主题文字,字体高度20像素点
if (body != '')
{
infoHeight = 20
}
if (lens != noLens)
{lens = ' '+builder.msgPnl.lens.et.selection.text ;}
else
{lens = '';}

//宽边时参数
var fLong = 1/13; //边框宽度与相片宽度的倍数

//窄边时参数
if (builder.msgPnl.frameWidthh.frameWidth2.value)
{
// fLong = 1/40;
fLong = 1/30; //加大点窄边框宽度
}

var defaultRulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
var resRatio = AD.resolution/72;
if(resRatio != 1)
{
AD.resizeImage(AD.width.value,AD.height.value,72);
}

//定义参数
photoWidth = AD.width.value; //图片宽度
photoHeight = AD.height.value; //图片高度
var wFrame = AD.width.value + 4; //修改系数调整内框边线的宽度,单边实际宽度需除以2
var hFrame = AD.height.value + 4; //修改系数调整内框边线的高度,单边实际高度需除以2
var fWidth = parseInt(photoWidth*fLong); //边框底的宽度,单边实际宽度需除以2。
if (builder.msgPnl.sidewidth.sidewidth2.value)
{
var fWidth = 0;
}

var fHeight = parseInt(photoWidth*fLong); //边框底的高度,单边实际高度需除以2。
var leftLogoWidth = 0;
var leftLogoHeight = 0;
var rightLogoWidth = 0;
var rightLogoHeight = 0;



//打印Logo时需要使用的参数
//-------------------------------------logo位置选择开始----------------------------------------------------------------
if (logoType != noLogo && logoFilePath != null)
{
if(builder.msgPnl.logo1.logoSide2.value) //边框上右面打印Logo
{
var logoPhoto = open(logofile);
rightLogoWidth = parseInt(logoPhoto.width);
rightLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + photoWidth + 1 - rightLogoWidth; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + photoHeight + 2 + 2; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = rightLogoWidth; //区域宽度
var docH = rightLogoHeight; //区域高度
}
else if(builder.msgPnl.logo1.logoSide1.value) //边框上左面打印Logo
{
var logoPhoto = open(logofile);
leftLogoWidth = parseInt(logoPhoto.width);
leftLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + 1 ; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + photoHeight + 2 + 2; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = leftLogoWidth; //区域宽度
var docH = leftLogoHeight; //区域高度
}
else if(builder.msgPnl.logo1.logoSide4.value) //图上下右面打印Logo
{
var logoPhoto = open(logofile);
rightLogoWidth = parseInt(logoPhoto.width);
rightLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + photoWidth + 1 - rightLogoWidth-10; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + photoHeight + 2 + 2-70; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = rightLogoWidth; //区域宽度
rightLogoWidth = 0;
var docH = rightLogoHeight; //区域高度
}
else if(builder.msgPnl.logo1.logoSide3.value) //图上下左打印Logo
{
var logoPhoto = open(logofile);
leftLogoWidth = parseInt(logoPhoto.width);
leftLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + 1+10; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + photoHeight + 2 + 2-70; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = leftLogoWidth; //区域宽度
leftLogoWidth = 0;
var docH = leftLogoHeight; //区域高度
}
else if(builder.msgPnl.logo1.logoSide6.value) //图上上右面打印Logo
{
var logoPhoto = open(logofile);
rightLogoWidth = parseInt(logoPhoto.width);
rightLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + photoWidth + 1 - rightLogoWidth-10; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + 2 + 2; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = rightLogoWidth; //区域宽度
rightLogoWidth = 0;
var docH = rightLogoHeight; //区域高度
}
else if(builder.msgPnl.logo1.logoSide5.value) //图上上左打印Logo
{
var logoPhoto = open(logofile);
leftLogoWidth = parseInt(logoPhoto.width);
leftLogoHeight = parseInt(logoPhoto.height);
logoPhoto.selection.selectAll(); //选择全部区域
logoPhoto.selection.copy(); //复制选择区域
logoPhoto.close(SaveOptions.DONOTSAVECHANGES); //关闭logoPhoto,不保存
var topLeftX = fWidth*0.5 + 1+10; //Logo左上角定位点X值
var topLeftY = fHeight*0.5 + 2 + 2; //Logo左上角定位点Y值。前面的2为内框线宽度,后面的2为间距
var docW = leftLogoWidth; //区域宽度
leftLogoWidth = 0;
var docH = leftLogoHeight; //区域高度
}
}
//-------------------------------------logo位置选择结束----------------------------------------------------------------

//---------------------------------------exif信息读取和处理开始--------------------------------------------------
//获取RAW相片保存的Exif信息
var exifData = AD.xmpMetadata.rawData.toString();

//将EXIF信息分成单个的相关信息
explodeArray(exifData);
var exposureTime = ""; //快门
var fNumber = ""; //光圈
var ISOSpeedRatings = ""; //ISO设置
var dateTimeOriginal = ""; //相片拍摄时间
var phoDate = ""; //拍摄日期
var phoTime = ""; //拍摄时间
var fired = ""; //闪光模式
var exposureBiasValue = ""; //曝光补偿
var focalLength = ""; //焦距
var model = ""; //相机型号

//5. 说明新变量并赋值空字符位
var meteringMode = ""; //测光模式
var exposurePro = ""; //曝光程序
var i = 0;
var j = 0;
var k = 0;
var dateArray1 = "";
var dateArray2 = "";

//快门速度
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.indexOf("ExposureTime") != -1)
{
exposureTime = tempArray[n+1];
break;
}
}

//光圈大小
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.indexOf("FNumber") != -1)
{
fNumber = tempArray[n+1];
break;
}
}

//拍摄日期、时间
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.indexOf("DateTimeOriginal") != -1)
{
dateTimeOriginal = tempArray[n+1];
break;
}
}

//ISO设置
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.indexOf("ISOSpeedRatings") != -1)
{
// ISOSpeedRatings = "ISO" + tempArray[n+5] + " ";
ISOSpeedRatings = " ISO" + tempArray[n+5] ;
break;
}
}
//6. 从照片的exif信息中读入测光模式和曝光程序信息(1,,2,3,4,5)等代表数字,由代表数字确定预存储在数组里的汉字信息元素的位置,并赋值到新说明的变量中。//MeteringModetext1557测光模式
var meteringModetext1;
var mm;
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(tempArray[n] == "MeteringMode")
{
meteringMode = tempArray[n+1];
break;
}
}
mm=parseInt(meteringMode);
if(mm>6||mm<0)
mm=0;
meteringModetext1=' '+meteringMode1[mm];

//曝光程序
var exposureProtext1
var bb
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(tempArray[n] == "ExposureProgram")
{
exposurePro = tempArray[n+1];
break;
}
}
bb=parseInt(exposurePro);
if(bb>4||bb<0)
bb=0;
exposureProtext1=' '+exposurePro1[bb];

//使用焦距
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(tempArray[n] == "FocalLength")
{
focalLength = tempArray[n+1];
break;
}
}

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$处理镜头信息$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
//镜头信息。此段从exif文件中读出镜头信息
/*
//镜头信息处理方式一
//如果人工输入镜头信息。输出人工的选择,如果人工不输入,则使用片子里exif镜头信息,如果exif也没有,则没有镜头信息输出。
lenss="";
if(exiflens != noLens)
lenss = exiflens;
else
{
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(stringTemp.indexOf("Lens") != -1)  
{
var lenss =tempArray[n+5] ;
break;
}
}
}

*/
//镜头信息处理方式二
//如果人工不选镜头型号,则没有镜头信息输出。如果人工选了镜头型号,优先使用exif中的镜头信息,如果exif中没有镜头信息,则使用人工输入镜头信息。

if(exiflens != noLens)
{
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(stringTemp.indexOf("Lens") != -1)  
{
var lenss = tempArray[n+5];
break;
}
var lenss =lens;       
}
}
else
{
lenss="";
}

//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$处理镜头信息完毕$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

//相机型号
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(stringTemp.indexOf("Model") != -1)
{
var model = tempArray[n+1] ;
break;
}
}

//曝光补偿
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(stringTemp.indexOf("ExposureBiasValue") != -1)
{
exposureBiasValue = tempArray[n+1];
break;
}
}

//闪光模式
for(n = 0; n < tempArray.length; n ++)
{
stringTemp=tempArray[n];
if(stringTemp.indexOf("Fired") != -1)
{
fired = tempArray[n+1];
break;
}
}

//转换闪光模式
if(fired != '')
{
if(fired == 'True')
{
fired = ' Fire';
}
else
fired = ' No fire';
}
else
fired = '';

//转换曝光补偿
if(exposureBiasValue != '')
{
if(parseInt(exposureBiasValue) != 0)
{
var dateArray1 = exposureBiasValue.split('/'); //用分隔符/产生数组
i = dateArray1[0];
j = dateArray1[1];
exposureBiasValue = parseInt(10*parseFloat(i/j))/10;
exposureBiasValue += 'EV';
exposureBiasValue=' '+ exposureBiasValue
}
else
{
exposureBiasValue = ' 0EV';
}
}
else
exposureBiasValue = '';

//转换焦距
if(focalLength != '')
{
var dateArray1 = focalLength.split('/'); //用分隔符/产生数组
i = dateArray1[0];
j = dateArray1[1];
focalLength = parseInt(10*parseFloat(i/j))/10;
focalLength = ' @' + focalLength + 'mm';
}

//检查快门速度
dateArray1 = exposureTime.split("/");
exposureTime = "";
if(dateArray1 != '') //有的图片没有快门值
{
j = dateArray1[0];
i = dateArray1[1];
if(j/i >= 1)
exposureTime = parseInt(j/i) + parseInt(10*(j-parseInt(j/i)*i)/i)/10 + "Sec";
else
{
i = parseInt(10*parseFloat(i/j))/10;
j = 1;
exposureTime = j + "/" + i + "S";
}
exposureTime = " "+exposureTime;
}

//计算光圈大小
dateArray1 = fNumber.split("/");
i = dateArray1[0];
j = dateArray1[1];
if(j>1)
fNumber = i/j;
else
fNumber = i;

if (fNumber != "") //有的图片没有光圈值
fNumber = " F/" +fNumber;

//改变日期格式
dateArray1 = dateTimeOriginal.split("T");
if(dateArray1 != '') //有的图片没有日期值
{
phoDate = " "+dateArray1[0] ;
phoTime = " "+dateArray1[1];

//过滤时区信息。如果Exif里的时间无时区信息脚本运行提示这里出错,请把下面的4行代码用注释掉
dateArray2 = phoTime.split("+");
phoTime = dateArray2[0];
dateArray2 = phoTime.split("-");
phoTime = dateArray2[0];
}
//---------------------------------------exif信息读取和处理结束--------------------------------------------------

//检查勾选Exif项目。未勾选的置为空
if (! builder_msgPnl_photoInfo_infoModel_value) model = "";
if (! builder_msgPnl_photoInfo_infoShutter_value) exposureTime = "";
if (! builder_msgPnl_photoInfo_infoF_value) fNumber = "";
if (! builder_msgPnl_photoInfo_infoISO_value) ISOSpeedRatings = "";
if (! builder_msgPnl_photoInfo_infoT_value) exposureBiasValue = "";
if (! builder_msgPnl_photoInfo_infoFocal_value) focalLength = "";
if (! builder_msgPnl_photoInfo_infoFired_value) fired = "";

//7. 判别布尔值是否为“真”,如果不是,将变量中的布尔值换成空字符位。
if (! builder.msgPnl.photoInfo.MeteringModetext.value) meteringModetext1 = "";
if (! builder.msgPnl.photoInfo.ExposureProgramtext.value) exposureProtext1 = "";
if (! builder_msgPnl_photoInfo2_infoDate_value) phoDate = "";
if (! builder_msgPnl_photoInfo2_infoTime_value) phoTime = "";

var black = new SolidColor(); //定义黑色
black.rgb.red = black.rgb.green = black.rgb.blue = 0;
var white = new SolidColor(); //定义白色
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
var grey = new SolidColor(); //定义灰色
grey.rgb.red = grey.rgb.green = grey.rgb.blue = 153;
var red = new SolidColor(); //定义红色
red.rgb.red = 255; red.rgb.green = 0; red.rgb.blue = 0;
var yellow = new SolidColor(); //定义黄色
yellow.rgb.red = 255; yellow.rgb.green = 153; yellow.rgb.blue = 0;
var blue = new SolidColor(); //定义蓝色
blue.rgb.red = 0; blue.rgb.green = 0; blue.rgb.blue = 255;

//在相片的外边加入一条边框线,内线颜色可以选择。
backgroundColor = fColor; //边框线颜色
AD.resizeCanvas(wFrame,hFrame, AnchorPosition.MIDDLECENTER);

//加入四边边框框底
backgroundColor = kColor;
AD.resizeCanvas(photoWidth + fWidth,photoHeight + fHeight, AnchorPosition.MIDDLECENTER); //可以修改参数获得不同的边框大小

//底部再加大点,便于写字,可以修改参数获得你需要的下边框大小
var addHeight = fHeight + parseInt(rFontSize) + parseInt(infoFontSize) + 6;
if (addHeight < 54) //限定最小加宽增加值,以防止选择最大号字体时出现高度不够
addHeight = 54;
AD.resizeCanvas(photoWidth + fWidth,photoHeight + addHeight,AnchorPosition.TOPCENTER);



//---------------- 标注作者文字开始 ----------------------
var nameLayer = AD.artLayers.add();
nameLayer.kind = LayerKind.TEXT;
var TI = nameLayer.textItem;
TI.justification = Justification.LEFT; //左对齐
if(photoWidth>=3000|| photoHeight>=3000)
TI.position = [fWidth/2 + leftLogoWidth+50,hFrame + fHeight/2 + parseInt(lFontSize)]; //设定主题文字位置,第一项是左右边距,看上面定位,第二项是底边距。其中5是在左边边留5个像素位
else if((photoWidth<3000&&photoWidth>=2000)||( photoHeight<3000&& photoHeight>=2000))
TI.position = [fWidth/2 + leftLogoWidth+25,hFrame + fHeight/2 + parseInt(lFontSize)];
else
TI.position = [fWidth/2 + leftLogoWidth+5,hFrame + fHeight/2 + parseInt(lFontSize)];
TI.contents = title; //文字的内容
// TI.contents = title + " " +AD.name; //照片文件名打印
TI.font = fontPSNames[builder.msgPnl.title.titleFontEt.selection.text]; //字体类型
TI.size = parseInt(lFontSize); //字体大小,点数
TI.color = titleColor; //字体颜色,需预先定义
TI.fauxBold = true; //加粗
//---------------- 标注作者文字开始结束 ----------------------



//---------------- 标注拍摄信息开始  ----------------------
var infoLayer = AD.artLayers.add();
infoLayer.kind = LayerKind.TEXT;
var TI = infoLayer.textItem;
TI.justification = Justification.RIGHT; //右对齐
var addRightHeight = parseInt(infoFontSize); //拍摄信息高度的定位值
// if (body != "") //如果没有说明文字,则相应减少增加拍摄信息文字行的高度
// {
if (builder.msgPnl.frameWidthh.frameWidth2.value)
{
addRightHeight = parseInt(rFontSize) + parseInt(infoFontSize) +6;
}
else
{
addRightHeight = parseInt(rFontSize) + parseInt(infoFontSize) +12; //6为行间距,可调;
}
// }
// else
// {
// addRightHeight = parseInt(rFontSize) + parseInt(infoFontSize) + 6;
// }
//边框上拍摄信息右侧留点空
if(photoWidth>=3000|| photoHeight>=3000)
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-50,hFrame + fHeight/2 + addRightHeight+50]; //设定主题文字位置,第一项是左右边距,看上面右对齐,第二项是底边距。其中5是在右边边留5个像素位
else if((photoWidth<3000&&photoWidth>=2000)||( photoHeight<3000&& photoHeight>=2000))
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-25,hFrame + fHeight/2 + addRightHeight+25];
else
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-5,hFrame + fHeight/2 + addRightHeight];
TI.contents = ""; //初始化值文字内容
TI.contents += model; //相机型号
if(lenss!="")
lenss='〔'+lenss+'〕';
TI.contents += lenss; //镜头型号
TI.contents += exposureTime; //快门速度
TI.contents += fNumber; //光圈
TI.contents += ISOSpeedRatings; //ISO值。尼康相机拍摄的相片可能没有该值
TI.contents += exposureBiasValue; //曝光补偿
TI.contents += focalLength; //焦距
TI.contents += meteringModetext1; //测光模式
TI.contents += exposureProtext1; //曝光程序
TI.contents += fired; //闪光模式
if(photoWidth2>=photoHeight2) //如果是横图,拍摄日期和时间放在第二行,既与拍摄信息放在一起.
{
TI.contents += phoDate; //拍摄日期
TI.contents += phoTime; //拍摄时间
}


TI.font = fontPSNames[builder_msgPnl_lens_infoFontEt_selection_text]; //字体类型
TI.size = parseInt(infoFontSize); //Photoshop cs4字体大小,点数
TI.color = infoColor; //字体颜色
TI.fauxBold = true; //加粗
//---------------- 标注拍摄信息结束  ----------------------



//---------------- 标注说明文字开始  ----------------------
var msgLayer = AD.artLayers.add();
msgLayer.kind = LayerKind.TEXT;
var TI = msgLayer.textItem;
TI.justification = Justification.RIGHT; //右对齐
if(photoWidth>=3000|| photoHeight>=3000)
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-50,hFrame + fHeight/2 + parseInt(rFontSize)]; //设定主题文字位置,第一项是左右边距,看上面定位,第二项是底边距。其中5是在右边边留5个像素位
else if((photoWidth<3000&&photoWidth>=2000)||( photoHeight<3000&& photoHeight>=2000))
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-25,hFrame + fHeight/2 + parseInt(rFontSize)];
else
TI.position = [photoWidth + fWidth/2 - rightLogoWidth-5,hFrame + fHeight/2 + parseInt(rFontSize)];
if(photoWidth2<photoHeight2) //如果是竖图,为了避免空间不够,拍摄日期和时间放在第二一行,既放在说明文字后面,文字后面留3个空格.
{
TI.contents = body;
TI.contents += phoDate; //拍摄日期
TI.contents += phoTime; //拍摄时间
}
else
TI.contents = body; //文字的内容。

TI.font = fontPSNames[builder.msgPnl.msg.msgFontEt.selection.text]; //字体类型
TI.size = parseInt(rFontSize); //字体大小,点数
TI.color = msgColor; //字体颜色,需预先定义
TI.fauxBold = true; //加粗
//---------------- 标注说明文字始结束  ----------------------



//最外边加入一条黑边线
//backgroundColor = black;
//AD.resizeCanvas(AD.width.value + 2,AD.height.value + 2, AnchorPosition.MIDDLECENTER);



//---------------------------打印Logo 开始---------------------------
if (logoType != noLogo  && logoFilePath != null)
{
var pointLT = Array(topLeftX,topLeftY); //左上角点
var pointRT = Array(topLeftX + docW,topLeftY); //右上角点
var pointRB = Array(topLeftX + docW,topLeftY + docH); //右下角点
var pointLB = Array(topLeftX,topLeftY + docH); //左下角点
var selRegion = Array(pointRT,pointRB,pointLB,pointLT); //定位区域,点顺序:右上角点,右下角点,左下角点,左上角点
AD.selection.select(selRegion); //选择区域
AD.paste(); //粘贴
}
//---------------------------打印Logo 结束---------------------------



AD.flatten(); //拼合图层
switch (frameSide) //将图片旋转回来
{
case 2:
app.activeDocument.rotateCanvas(-90.0);
break;
case 3:
app.activeDocument.rotateCanvas(90.0);
break;
}

}

//###############################################边框程序结束###########################################
/**
* bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_Version! Wed Mar 18 2009 15:53:05 GMT+0800
*/
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 20.054
主题: 1
帖子: 205
注册: 2004年3月
请给我也发一份chongqi@gmail.com 谢谢
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
老坛泡菜
泡网分: 40.283
主题: 57
帖子: 2544
注册: 2000年5月
能否也给我发一份脚本,非常感谢!
minli800"hotmail_com("改)
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 12.46
主题: 9
帖子: 429
注册: 2008年1月
谁帮忙把脚本和字体重新发一下啊?谢谢
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 0
帖子: 1
注册: 2008年9月
逸之兄,能否给我发一份脚本,我试了几乎所有的链接,都下不了,非常感谢!
jinwei_mail@yahoo.com.cn
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
原文由 luterry 发表
试了很好用。但有几个问题不知道能否实现,

我用的时候只能单幅单幅的弄,不知道能不能批量添加呢?

还有镜头信息这些,因为单幅单幅的弄,每次都得选,如果要修改默认项的话是不是要打开脚本自己修改?如果能增加一个保存默认项就好了~~

感谢。。。


呵呵,所有的默认选项都可以根据自己的喜好在脚本程序中修改设定。镜头信息在如下代码中修改设定,
//选择拍摄信息的默认值。true为默认勾选,false为不勾选

photoInfo.text = photoInfo.add('statictext', undefined, infoSelectText);
photoInfo_infoModel = photoInfo.add('checkbox', undefined, infoModelText);
photoInfo_infoModel_value = true; //新机型号
photoInfo_infoShutter = photoInfo.add('checkbox', undefined, infoShutterText);
photoInfo_infoShutter_value = true;//快门速度
photoInfo_infoF = photoInfo.add('checkbox', undefined, infoFText);
photoInfo_infoF_value = true;//光圈
photoInfo_infoISO = photoInfo.add('checkbox', undefined, infoISOText);
photoInfo_infoISO_value = true;//感光度
photoInfo_infoT = photoInfo.add('checkbox', undefined, infoTText);
photoInfo_infoT_value =false;//曝光补偿
photoInfo_infoFocal = photoInfo.add('checkbox', undefined, infoFocalText);
photoInfo_infoFocal_value = true;//焦距
photoInfo.MeteringModetext = photoInfo.add('checkbox', undefined, MeteringModetext);
photoInfo.MeteringModetext.value =true;//测光模式
photoInfo.ExposureProgramtext = photoInfo.add('checkbox', undefined, ExposureProgramtext);
photoInfo.ExposureProgramtext.value =true;//曝光程序
photoInfo_infoFired = photoInfo.add('checkbox', undefined, infoFiredText);
photoInfo_infoFired_value =false;//闪光灯
//第二组拍摄信息
photoInfo2.text = photoInfo2.add('statictext', undefined, infoSelectText);
photoInfo2_infoDate = photoInfo2.add('checkbox', undefined, infoDateText);
photoInfo2_infoDate_value = true; //拍摄日期
photoInfo2_infoTime = photoInfo2.add('checkbox', undefined, infoTimeText);
photoInfo2_infoTime_value =false;//拍摄时间

边框色彩、字体以及字号则修改相应的数字,在前面的赋值中找到对应的数字,换上即可。仔细看注释文字说明好了。

批处理是可以的,但需要时间编写。等有空弄弄试试。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 5
帖子: 29
注册: 2004年10月
试了很好用。但有几个问题不知道能否实现,

我用的时候只能单幅单幅的弄,不知道能不能批量添加呢?

还有镜头信息这些,因为单幅单幅的弄,每次都得选,如果要修改默认项的话是不是要打开脚本自己修改?如果能增加一个保存默认项就好了~~

感谢。。。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 8.606
主题: 4
帖子: 326
注册: 2009年4月
原文由 逸之 发表

这个办法也可以,只是不输出iso时就多了一个空格。这个版本可能有点老了,还有其它一些小毛病,网盘又挂不上去。可以这样,
在下段中的"ISO"中前面加一个空格成" ISO"即可。

//ISO设置
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.ind ......


谢逸之DX。。。现在按照你的指导,问题解决了。再次感谢。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
原文由 网里偷闲 发表

谢逸之DX回答。不过俺的这段代码没错的(就是把你这段代码代入也不解决问题)。。。俺的问题是ISO数据与其前面的参数相连。。。后来找到一个“土办法”,就是在ISO数据前强行插入一个空格,即把“TI.contents += ISOSpeedRatings;”这一句换成“TI.contents += " "+ISOSpeedRatings;”,空格问题就解决了。但俺 ......


这个办法也可以,只是不输出iso时就多了一个空格。这个版本可能有点老了,还有其它一些小毛病,网盘又挂不上去。可以这样,
在下段中的"ISO"中前面加一个空格成" ISO"即可。

//ISO设置
for(n = 0; n < tempArray.length; n ++)
{
stringTemp = tempArray[n];
if(stringTemp.indexOf("ISOSpeedRatings") != -1)
{
ISOSpeedRatings = " ISO" + tempArray[n+5] + " ";
break;
}
}
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 8.606
主题: 4
帖子: 326
注册: 2009年4月
原文由 逸之 发表
找到脚本中的“//转换曝光补偿”用以下代码替换脚本中的相关内容,即可解决空格问题。

//转换曝光补偿
if(exposureBiasValue != '')
{
if(parseInt(exposureBiasValue) != 0)
{
var dateArray1 = exposureBiasValue.split('/'); //用分隔符/产生数组
i = dateArray1[0];
j = dateArray1[1];
......


谢逸之DX回答。不过俺的这段代码没错的(就是把你这段代码代入也不解决问题)。。。俺的问题是ISO数据与其前面的参数相连。。。后来找到一个“土办法”,就是在ISO数据前强行插入一个空格,即把“TI.contents += ISOSpeedRatings;”这一句换成“TI.contents += " "+ISOSpeedRatings;”,空格问题就解决了。但俺还是不知道为啥ISO数据会与其前面的参数相连,而别的参数之间都是有空格的。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
找到脚本中的“//转换曝光补偿”用以下代码替换脚本中的相关内容,即可解决空格问题。

//转换曝光补偿
if(exposureBiasValue != '')
{
if(parseInt(exposureBiasValue) != 0)
{
var dateArray1 = exposureBiasValue.split('/'); //用分隔符/产生数组
i = dateArray1[0];
j = dateArray1[1];
exposureBiasValue = parseInt(10*parseFloat(i/j))/10;
exposureBiasValue += 'EV';

exposureBiasValue=' '+ exposureBiasValue;

}
else
{
exposureBiasValue = ' 0EV';
}
}
else
exposureBiasValue = '';
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 8.606
主题: 4
帖子: 326
注册: 2009年4月
原文由 快乐农夫 发表

俺也发现了“ISO数据”与前面的其它参数相连的问题,老兄你后来是咋解决的?


俺也发现了“ISO数据”与其它参数相连的问题...逸之DX帮助解决一下?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 15.708
主题: 6
帖子: 64
注册: 2006年10月
有请楼主发一个新的脚本和程序。万分感谢。邮箱:86231119@163.com
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 0
帖子: 16
注册: 2005年10月
原文由 fuqi 发表
中文字体不显示,是因为你选择了英文字体,选择中文字体附带英文,OK。

我遇到的问题是:ISO数值和曝光补偿数值相连

希望逸之DX帮忙解决一下


俺也发现了“ISO数据”与前面的其它参数相连的问题,老兄你后来是咋解决的?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
老坛泡菜
泡网分: 33.293
主题: 86
帖子: 3195
注册: 2002年12月
真正的脚本在哪里?下载!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 0
帖子: 16
注册: 2005年10月
原文由 逸之 发表
var chineseFonts = new Array();

chineseFonts['CTBiaoSongSF'] = '创艺繁标宋';
chineseFonts['CTChaoHeiSF'] = '创艺繁超黑';
chineseFonts['CTCaiYunSF'] = '创艺繁彩云';
chineseFonts['CTFangSongSF'] = '创艺繁仿宋';
chineseFonts['CTHeiTiSF'] = '创艺繁黑体';
chineseFonts['CTHuPoSF'] = '创艺繁琥珀';
......


成功。谢谢。
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 16.376
主题: 2
帖子: 124
注册: 2006年9月
试过已好了,谢谢楼主!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
var chineseFonts = new Array();

chineseFonts['CTBiaoSongSF'] = '创艺繁标宋';
chineseFonts['CTChaoHeiSF'] = '创艺繁超黑';
chineseFonts['CTCaiYunSF'] = '创艺繁彩云';
chineseFonts['CTFangSongSF'] = '创艺繁仿宋';
chineseFonts['CTHeiTiSF'] = '创艺繁黑体';
chineseFonts['CTHuPoSF'] = '创艺繁琥珀';
chineseFonts['CTKaiTiSF'] = '创艺繁楷体';
chineseFonts['CTLiShuSF'] = '创艺繁隶书';
chineseFonts['CTSongTiSF'] = '创艺繁宋体';
chineseFonts['CTWeiBeiSF'] = '创艺繁魏碑';
chineseFonts['CTXianTiSF'] = '创艺繁线体';
chineseFonts['CTXiYuanSF'] = '创艺繁细圆';
chineseFonts['CTCuYuanSF'] = '创艺繁粗圆';
chineseFonts['CTZongYiSF'] = '创艺繁综艺';
chineseFonts['FQiTi'] = '迷你繁启体';
chineseFonts['FZuanSu'] = '迷你繁篆书';
chineseFonts['FZCaiYun-M09S'] = '方正彩云简体';
chineseFonts['FZCuYuan-M03S'] = '方正粗圆简体';
chineseFonts['FZHuPo-M04S'] = '方正琥珀简体';
chineseFonts['FZKai-Z03S'] = '方正楷体简体';
chineseFonts['FZLiBian-S02S'] = '方正隶扁简体';
chineseFonts['FZLiShu II-S06S'] = '方正隶二简体';
chineseFonts['FZLiShu-S01S'] = '方正隶书简体';
chineseFonts['FZShuTi-S05S'] = '方正舒体简体';
chineseFonts['FZWeiBei-S03S'] = '方正魏碑简体';
chineseFonts['FZXingKai-S04S'] = '方正行楷简体';
chineseFonts['FZXiYuan-M01S'] = '方正细圆简体';
chineseFonts['FZZhunYuan-M02S'] = '方正准圆简体';
chineseFonts['FangSong_GB2312'] = '仿宋_GB2312';
chineseFonts['STFangsong'] = '华文仿宋_GB2312';
chineseFonts['FZShuTi'] = '方正舒体';
chineseFonts['FZYaoTi'] = '方正姚体';
chineseFonts['STCaiyun'] = '华文彩云';
chineseFonts['STXihei'] = '华文细黑';
chineseFonts['LiSu'] = '隶书';
chineseFonts['STXinwei'] = '华文新魏';
chineseFonts['STXingkai'] = '华文行楷';
chineseFonts['STZhongsong'] = '华文中宋';
chineseFonts['SimSun-18030'] = '宋体';
chineseFonts['SimSun-PUA'] = '宋体-PUA';
chineseFonts['Simsun (Founder Extended)'] = '宋体(Founder Extended)';
chineseFonts['YouYuan'] = '幼圆';
chineseFonts['NSimSun'] = '新宋体';
chineseFonts['KaiTi_GB2312'] = '楷体_GB2312';
chineseFonts['MS Hei'] = 'MS 黑体';
chineseFonts['MS Song'] = 'MS 宋体';
chineseFonts['NSimSun-18030'] = '新宋体-18030';
chineseFonts['Pop3EG-Bold-T-GB'] = '长城广告体繁';
chineseFonts['ShiansaEG-Medium-GB'] = '文鼎潇洒体';
chineseFonts['SimHei'] = '黑体';
chineseFonts['SimSun'] = '宋体';

//字体中文菜单转换
var allFonts = app.fonts;
var myFonts = new Array();
var fontPSNames = new Array();
for (j=0;j<allFonts.length;j++) {
tmp = chineseFonts[allFonts[j].family] ? chineseFonts[allFonts[j].family] : allFonts[j].family;
if (! fontPSNames[tmp]) {
fontPSNames[tmp] = allFonts[j].postScriptName;
myFonts.push(tmp);
}
}
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
对不起,忘了。前面加一条

var chineseFonts = new Array();
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 16.376
主题: 2
帖子: 124
注册: 2006年9月
原文由 快乐农夫 发表

替代进去不成功!


也不成功,请帮帮我们,谢谢!
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 0
帖子: 16
注册: 2005年10月
原文由 逸之 发表
有需要汉字字体菜单的朋友,可以将如下代码

chineseFonts['CTBiaoSongSF'] = '创艺繁标宋';
chineseFonts['CTChaoHeiSF'] = '创艺繁超黑';
chineseFonts['CTCaiYunSF'] = '创艺繁彩云';
chineseFonts['CTFangSongSF'] = '创艺繁仿宋';
chineseFonts['CTHeiTiSF'] = '创艺繁黑体';
chineseFonts['CTHuPoSF'] = '创艺 ......


替代进去不成功!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 9.493
主题: 2
帖子: 44
注册: 2008年11月
就是因为太多,难以挑选。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 16.641
主题: 15
帖子: 1897
注册: 2007年10月
字体网上多的是。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 9.493
主题: 2
帖子: 44
注册: 2008年11月
那里可以下载字体文件?链接失效了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
有需要汉字字体菜单的朋友,可以将如下代码

chineseFonts['CTBiaoSongSF'] = '创艺繁标宋';
chineseFonts['CTChaoHeiSF'] = '创艺繁超黑';
chineseFonts['CTCaiYunSF'] = '创艺繁彩云';
chineseFonts['CTFangSongSF'] = '创艺繁仿宋';
chineseFonts['CTHeiTiSF'] = '创艺繁黑体';
chineseFonts['CTHuPoSF'] = '创艺繁琥珀';
chineseFonts['CTKaiTiSF'] = '创艺繁楷体';
chineseFonts['CTLiShuSF'] = '创艺繁隶书';
chineseFonts['CTSongTiSF'] = '创艺繁宋体';
chineseFonts['CTWeiBeiSF'] = '创艺繁魏碑';
chineseFonts['CTXianTiSF'] = '创艺繁线体';
chineseFonts['CTXiYuanSF'] = '创艺繁细圆';
chineseFonts['CTCuYuanSF'] = '创艺繁粗圆';
chineseFonts['CTZongYiSF'] = '创艺繁综艺';
chineseFonts['FQiTi'] = '迷你繁启体';
chineseFonts['FZuanSu'] = '迷你繁篆书';
chineseFonts['FZCaiYun-M09S'] = '方正彩云简体';
chineseFonts['FZCuYuan-M03S'] = '方正粗圆简体';
chineseFonts['FZHuPo-M04S'] = '方正琥珀简体';
chineseFonts['FZKai-Z03S'] = '方正楷体简体';
chineseFonts['FZLiBian-S02S'] = '方正隶扁简体';
chineseFonts['FZLiShu II-S06S'] = '方正隶二简体';
chineseFonts['FZLiShu-S01S'] = '方正隶书简体';
chineseFonts['FZShuTi-S05S'] = '方正舒体简体';
chineseFonts['FZWeiBei-S03S'] = '方正魏碑简体';
chineseFonts['FZXingKai-S04S'] = '方正行楷简体';
chineseFonts['FZXiYuan-M01S'] = '方正细圆简体';
chineseFonts['FZZhunYuan-M02S'] = '方正准圆简体';
chineseFonts['FangSong_GB2312'] = '仿宋_GB2312';
chineseFonts['STFangsong'] = '华文仿宋_GB2312';
chineseFonts['FZShuTi'] = '方正舒体';
chineseFonts['FZYaoTi'] = '方正姚体';
chineseFonts['STCaiyun'] = '华文彩云';
chineseFonts['STXihei'] = '华文细黑';
chineseFonts['LiSu'] = '隶书';
chineseFonts['STXinwei'] = '华文新魏';
chineseFonts['STXingkai'] = '华文行楷';
chineseFonts['STZhongsong'] = '华文中宋';
chineseFonts['SimSun-18030'] = '宋体';
chineseFonts['SimSun-PUA'] = '宋体-PUA';
chineseFonts['Simsun (Founder Extended)'] = '宋体(Founder Extended)';
chineseFonts['YouYuan'] = '幼圆';
chineseFonts['NSimSun'] = '新宋体';
chineseFonts['KaiTi_GB2312'] = '楷体_GB2312';
chineseFonts['MS Hei'] = 'MS 黑体';
chineseFonts['MS Song'] = 'MS 宋体';
chineseFonts['NSimSun-18030'] = '新宋体-18030';
chineseFonts['Pop3EG-Bold-T-GB'] = '长城广告体繁';
chineseFonts['ShiansaEG-Medium-GB'] = '文鼎潇洒体';
chineseFonts['SimHei'] = '黑体';
chineseFonts['SimSun'] = '宋体';

//字体中文菜单转换
var allFonts = app.fonts;
var myFonts = new Array();
var fontPSNames = new Array();
for (j=0;j<allFonts.length;j++) {
tmp = chineseFonts[allFonts[j].family] ? chineseFonts[allFonts[j].family] : allFonts[j].family;
if (! fontPSNames[tmp]) {
fontPSNames[tmp] = allFonts[j].postScriptName;
myFonts.push(tmp);
}
}

替换掉如下代码

//读取系统字体,定义字体名称及PostScript name of the font
var myFonts = new Array();
var fontPSNames = new Array();
for (j = 0;j < fonts.length;j ++)
{
if (! fontPSNames[fonts[j].family])
{
fontPSNames[fonts[j].family] = fonts[j].postScriptName;
myFonts.push(fonts[j].family);
}
}
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
原文由 iceking 发表
逸之兄:前后几行代码

//定义设置对话框 开始
function createBuilderDialog()
{
var myLens = new Array();
myLens[0] = noLens; //请不要改动该行
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@以下镜头型号的字符串赋值可以根据自己的需要更改。
myLens[1] = 'AFS12-24mm/4G';
myLens[2]  ......


这段代码没有问题,※※※※※※※※※※语言对大小写,全角和半角很敏感,如“;”,必须在英文输入状态下输入才行。

如果不是代码问题,就可能是系统问题了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 17.686
主题: 12
帖子: 2358
注册: 2007年4月
原文由 wovy 发表
最后修改结果


很喜欢这个界面,字体不用看英文的了,能否共享一下呢?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 21.182
主题: 6
帖子: 365
注册: 2005年11月
逸之兄:前后几行代码

//定义设置对话框 开始
function createBuilderDialog()
{
var myLens = new Array();
myLens[0] = noLens; //请不要改动该行
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@以下镜头型号的字符串赋值可以根据自己的需要更改。
myLens[1] = 'AFS12-24mm/4G';
myLens[2] = 'AFS17-35mm F/2.8D';
myLens[3] = 'AFS17-55mmG';
myLens[4] = 'AFS24-70mm/2.8G';
myLens[5] = 'AFS28-70mmF/2.8D';
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
原文由 iceking 发表
逸之兄:帮我看看这是什么情况???!!!!


如果方便,请将前后3行代码发上来看看?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 21.182
主题: 6
帖子: 365
注册: 2005年11月
逸之兄:帮我看看这是什么情况???!!!!
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
回复主题: 数码相片Exif边框脚本俱乐部
功能受限
游客无回复权限,请登录后再试