主题:数码相片Exif边框脚本俱乐部 [主题管理员:头头是道]
正序浏览
主题图片汇总
主题内检索
浏览:197404 回帖:1222
游客没有回帖权限
泡菜
泡网分: 0.003
主题: 0
帖子: 86
注册: 2004年8月
真皮小熊:
我的想法和你一样,每次都弹出对话框确实比较麻烦。我现在也是用调用配置文件的方法,而且有些在脚本里面自动判断掉。不过我现在没有ps cs的脚本手册,不知道cs的对话框怎么设置,cs2的用法在cs上好像用不了,只好在外部修改配置文件了……

试试:
你的这个对话框简洁方便
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.006
主题: 12
帖子: 143
注册: 2004年4月
不错,学到不少新东西。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.16
主题: 22
帖子: 1446
注册: 2004年7月
楼主:拍摄信息字体好象不对,不论设置什么字体,最后的结果都是宋体字。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 0
主题: 6
帖子: 2722
注册: 2000年5月
代码,把一个目录里的所有.JPG文件都加框,写EXIF信息。


这些在file browser/bridge里选中文件batch一下就行了,何苦费力去写代码。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.16
主题: 22
帖子: 1446
注册: 2004年7月
拍摄信息也可以加字号和字体了,太好了,谢谢楼主!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 3
帖子: 120
注册: 2005年2月
嗯。俺特别想看到一个更花稍的边框样式。有点审美疲劳了

------------------------------------------------------------
试试
资深泡菜  
泡网分:23.7
交易分:0
帖 数:2603-32
图 数:0/0-0
字 数:250K-1K
注 册:2000年05月  

不用对话框太简单了,又去掉说明文字,五十行code应该就够了,赫赫。
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
UIO
资深泡菜
泡网分: 79.441
主题: 25
帖子: 9838
注册: 2005年4月
呵呵,大家早啊!试试的感觉不错,先做个记号。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 0
主题: 6
帖子: 2722
注册: 2000年5月
不用对话框太简单了,又去掉说明文字,五十行code应该就够了,赫赫。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 3
帖子: 120
注册: 2005年2月
代码,把一个目录里的所有.JPG文件都加框,写EXIF信息。假定makeFrame()函数和配置参数都写在Framing settings.inc文件里了

[code]
// @include "C:\\Program Files\\Adobe\\Adobe Photoshop CS2\\Presets\\Scripts\\Framing settings.inc"

main();

function main(){
// Save the current preferences
var startDisplayDialogs = app.displayDialogs;

// Set Adobe Photoshop CS2 to use pixels and display no dialogs
app.displayDialogs = DialogModes.NO;

// ask the user for the input folder
var inputFolder = Folder.selectDialog("Select the source folder");

// ask the user for the output folder
var outputFolder = Folder.selectDialog("Select the destination folder",inputFolder);

// see if we got something interesting from the dialog
if (inputFolder == null || outputFolder == null) {
return;
}

var sameFolder = false;
if (inputFolder.fsName==outputFolder.fsName)
sameFolder = true;

// get all the files found in this folder
var fileList = inputFolder.getFiles();

// save the outputs in JPEG
var jpegOptions = new JPEGSaveOptions();
jpegOptions.quality = 8;

var oldBackgroundColor = backgroundColor;
var oldForegroundColor = foregroundColor;

if (app.documents.length>0){
var savedActiveDoc = activeDocument;
}

for (var i = 0; i < fileList.length; i++) {
if (!(fileList instanceof File))
continue;
if (fileList[i].name.substring(fileList[i].name.length-4)!='.jpg'&&fileList[i].name.substring(fileList[i].name.length-4)!='.JPG')
continue;
if (fileList[i].name.substring(fileList[i].name.length-4-THUMB_EXTENSION.length)==THUMB_EXTENSION+'.jpg')
continue;
if (fileList[i].name.substring(fileList[i].name.length-4-FRAME_EXTENSION.length)==FRAME_EXTENSION+'.jpg')
continue;

var docRef = open(fileList[i]);
var AD = activeDocument = docRef;

if (RESIZE){
ratio = (AD.width.value/MAX_WIDTH > AD.height.value/MAX_HEIGHT)?(AD.width.value/MAX_WIDTH):(AD.height.value/MAX_HEIGHT);
AD.resizeImage(AD.width.value/ratio,AD.height.value/ratio);
}

if (SHARPEN){
var id3 = charIDToTypeID( "UnsM" );
var desc2 = new ActionDescriptor();
var id4 = charIDToTypeID( "Amnt" );
var id5 = charIDToTypeID( "#Prc" );
desc2.putUnitDouble( id4, id5, SHARPEN_AMOUNT);
var id6 = charIDToTypeID( "Rds " );
var id7 = charIDToTypeID( "#Pxl" );
desc2.putUnitDouble( id6, id7, SHARPEN_RADIUS );
var id8 = charIDToTypeID( "Thsh" );
desc2.putInteger( id8, SHARPEN_THRESHOLD );
executeAction( id3, desc2, DialogModes.NO );
}

makeFrame(docRef);
if (sameFolder)
docRef.saveAs( File( outputFolder + '/' + fileList[i].name.substring(0, fileList[i].name.length-4) + FRAME_EXTENSION+'.jpg'), jpegOptions, true );
else
docRef.saveAs( File( outputFolder + '/' + fileList[i].name.substring(0, fileList[i].name.length-4) + '.jpg'), jpegOptions, true );
docRef.close(SaveOptions.DONOTSAVECHANGES);
}

if (documents.length>0&&savedActiveDoc!=undefined)
activeDocument = savedActiveDoc;
backgroundColor = oldBackgroundColor;
foregroundColor = oldForegroundColor;
app.displayDialogs = startDisplayDialogs;
}
[/code]
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 3
帖子: 120
注册: 2005年2月
试试的这个对话框强

不过俺的思路跟你们不一样。俺是能不弹对话框就不弹对话框。这些个定制参数写在配置文件里头。想变点啥的时候就去改配置文件。

如果想玩点花的,可以考虑用一个对话框界面来修改那个配置文件。但是俺不想处理每张照片的时候都弹对话框要信息。

这样的好处是批处理照片的时候不会中断处理流程,呵呵。嗯,不过你们要是想每张照片都打个主题,写个说明什么的话,就非得一张一张的输入了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 0
主题: 6
帖子: 2722
注册: 2000年5月
照片旋转的话这里也没有什么损失。
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 0
主题: 6
帖子: 2722
注册: 2000年5月
我的。可以选择系统安装的所有字体。每项可选择颜色。可选exif并且可以修改。镜头也是从照片中直接取得。

exif不需要像楼主一样自己处理 xmpMetadata, 直接调 document_info_exif 就可以了。只有镜头不是标准 exif 要从 xmpMetadata 里取。

对于竖幅照片,只旋转文字层就可以了。
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.003
主题: 0
帖子: 86
注册: 2004年8月
好像楼主的脚本只能在cs2里面用,cs好像不支持其中一些组件,对楼主的脚本,我只有看的份了……
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.22
主题: 22
帖子: 536
注册: 2002年6月
TO JASC:感谢跟大家分享脚本,俺回去试试

TO Yonghui:旋转图象确实会损失图象质量,但我功力浅呵呵想不出好办法,这不正研究JASC的脚本呢,期待头头是道兄的新更新

TO 头头是道:名字改的好,以后俺多来学习

[好风长吟 编辑于 2005-08-18 00:50]
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 18.551
主题: 0
帖子: 567
注册: 2003年4月
我的脚本跟jasc的一样,也是根据长宽比来决定文字放哪里的。为了计算起始坐标,还好费了一番劲儿。好风长吟、jasc,你们这两个旋转的方法很不错,解决了一个问题。虽然俺也想过,但没深入,因为不知道怎么实现。另外,感觉jasc的只旋转文字层的方法好像更好一些:一来减少了计算量,二来两次转图是不是有损啊?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 29.822
主题: 38
帖子: 2163
注册: 2005年4月
非常感谢楼主的新脚本;优化后我的问题也解决了。更感受到此帖里互学互助的良好气氛,为此建议楼主成立“脚本俱乐部”,大家上图交流学习提高。支持!
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 7
帖子: 223
注册: 2005年7月
让我们共同努力,力所能及地为广大色友做一点实事,也让大家充分领略到开源的乐趣,搞出自己喜欢的东西出来。

jasc的建议很好!回头我增加一个选项“自动”,并置为默认。不过,我觉得标签位置选择还是有必要保留。当相片尺寸达到一定程度时,要让用户自己决定在哪一边标注文字。

今天发布的新版本,增加的功能为:分开设置拍摄信息和相片说明文字的字体字号。另外改善了边框尺寸的一些算法,优化了一下代码。回头将在wingjet的帮助下,发布英文版。

希望大家喜欢。

(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.003
主题: 0
帖子: 86
注册: 2004年8月
由于整段代码比较长,涉及到几个不同的段落,我把主要部分贴出来就可以了吧?

代码如下:

//设置横竖比例
var imageRatio;
imageRatio = AD.width.value/AD.height.value;

然后在需要根据不同情况调整的段落里添加下面的代码

//判断
if (imageRatio>1){
//这里是当图片是横幅的时候
…………
};
else{
//这里是当图片是竖副的时候
…………
}

还有,文字信息图层的旋转是:
if (imageRatio<1)
infoLayer.rotate(-90);

这样就可以实现自动判断了,不需要手动去设置那个横竖的问题。

[2005-08-18 02:30 补充如下]

不好意思,说漏了,应该再加一个判断,如果是类似6*6的方形构图,那么imageRatio=1,也应该把信息放在底部的。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.22
主题: 22
帖子: 536
注册: 2002年6月
TO 头头是道,楼主做出更好的脚本是我们的福音啊,新的脚本我下的,爽,大家赶紧试试,增加了竖版在右边加信息的选择功能,不过我在实验把这段加到我自己的脚本里

TO JASC,你的那一部分是怎么实现的?能共享一下吗?
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0.003
主题: 0
帖子: 86
注册: 2004年8月
我用的方法是在js里面加一段对于图像横竖比例的自动判断,如果横大于竖,则下底加厚,按水平方式放置信息,如果竖大于横,则左侧加厚,将信息旋转90度,放在左边。

[jasc 编辑于 2005-08-17 11:05]
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 7
帖子: 223
注册: 2005年7月
请大家重新下载,今天发布的版本增加了新功能,同时优化了脚本代码,完善了注释标注。

最后,谢谢好风长吟,你的旋转图像方法提醒了我。你的邮件我也收到了。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 10.22
主题: 22
帖子: 536
注册: 2002年6月
to 头头是道:
我这几天没来论坛没看见留言,实在对不起,脚本我已经给你寄去了,收没收到都通知我一声

to Yonghui:
我那个竖排没什么学问,笨人的方法,呵呵,就是先把图象旋转成横版、加框、再旋转回来,哈哈

另外,D70的PP如果用PS处理就能显示ISO,用NC处理就不能,再来一张祝各位做出漂亮的脚本
[好风长吟 编辑于 2005-08-16 20:46]
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
楼主,好样的,顶。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 7
帖子: 223
注册: 2005年7月
“我的脚本.jsx”的英文版本现已发布在压缩包内。感谢无忌网友wingjet翻译。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 18.551
主题: 0
帖子: 567
注册: 2003年4月
请问楼下的好风长吟或是楼主:

怎么显示竖排字啊?我知道可以用Direction.VERTICAL,但是结果字是竖起来朝右的,怎么才能象223贴那样朝左边呢?谢谢!
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 7
帖子: 223
注册: 2005年7月
To 好风长吟
你的边框很漂亮。能不能看看你的脚本,我也学学。我的Email:hainan@263.net.cn

To 千里雪
估计是英文版PS的原因造成乱码。英文版“我的脚本”正由wingjet制作中。

To 艺术流氓
请修改脚本中的代码为以下内容:
下面是左边文字缩进代码:
var lShrink = 50;  //定义左边缩进量
TI.position = [fWidth/2+lShrink,photoHeight+leftCharLong*fHeight];

下面是右边文字缩进代码:
//标字的位置,可以修改参数移动位置
var rShrink = 50;  //定义右边缩进量
TI.position = [photoWidth+fWidth-fWidth/2-rShrink,photoHeight+rightCharLong*fHeight];

To BaronLi
你可以用记事本打开脚本代码文件,先查找到你不想要的文字内容后,把它改为你希望的文字即可。

[头头是道 编辑于 2005-08-15 09:58]
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 1
帖子: 241
注册: 2005年4月
首先感谢楼主, 下载成功,并按装到CS,但运行脚本时报错,楼主提供的4个边框样本可用,但内容完全COPY 了样本上原来的内容,请楼主再给指点一下,先谢谢了
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 65.362
主题: 9
帖子: 4036
注册: 2005年5月
月赛优胜标识
谢谢楼主,下载成功。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 22.123
主题: 12
帖子: 525
注册: 2005年5月
感谢头头和wingjet帮助,上片顶帖,呵呵

另外fWidth没了,文字缩进也没了,这咋办??试着用photoWidth编辑,8成功
登录后可直接显示原图
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 0
主题: 7
帖子: 223
注册: 2005年7月
我在BT的同时,用Flashget下载平均速度为114.18KB/s。直接下载也没问题。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
回复主题: 数码相片Exif边框脚本俱乐部
功能受限
游客无回复权限,请登录后再试