论坛帮助 |
社区圈子 |
日历事件 |
2011-10-28, 10:04 | #1 | ||
|
|||
荣誉版主
等级: 七袋长老
|
ABC_Yellow.tif ABC_Magenta.tif ABC_Cyan.tif ABC_Black.tif ABC_Pantone 186 C.tif PHOTOSHOP本身有功能可以实现把此五个文件自动合成的CMYK合成文件的功能吗? 没有的话,有没有同学可以帮忙实现呢? 多谢.有多金谢
__________________
love is an expensive shopwindow
I open my life,If i can find you, then I'll know how rich I am. |
||
2011-11-02, 16:15 | 只看该作者 #12 | ||
|
|||
正式会员
等级: 四袋长老
|
代码:
var f = Folder.selectDialog ('选择文件夹'), fn = f.name, fs = f.fsName, F = function (str){return File(fs + '/' + fn + '_' + str +'.tif')}, PMS = f.getFiles ('*.tif').toString().match(/(Pantone.+?)\.tif/)[1], _C = F('Cyan'), _M = F('Magenta'), _Y = F('Yellow'), _K = F('Black'), _S = F(PMS), loop = [_M, _Y, _K, _S], mDoc = app.open(_C), i = 0, doc; mDoc.changeMode(ChangeMode.MULTICHANNEL); for (; i < 4; i++){ doc = app.open(loop[i]); doc.channels[0].duplicate (mDoc); doc.close(SaveOptions.DONOTSAVECHANGES); } mDoc.channels[4].name = PMS; mDoc.channels[4].kind = ChannelType.SPOTCOLOR; mDoc.changeMode(ChangeMode.CMYK); mDoc.saveAs(F('合并'), new TiffSaveOptions()); 将以上代码复制保存为.jsx脚本文件。脚本要求文件夹名与文件名前缀必须统一。以你给的范例文件为例,则文件夹需重命名为“J46S001C”。 运行脚本,选择待处理文件夹,将自动合并通道并最终另存为“前缀_合并.tif”。 另外有一个疑问,这样处理后的专色通道貌似不是真实的PMS标准色值吧,是否需要进一步处理? 此帖于 2011-11-02 16:40 被 animalia 编辑. |
||
右列会员因为此帖价值甚高向 animalia 表示感谢: |
xiaoqing639441 (2011-11-02)
|
2011-11-02, 23:14 | 只看该作者 #15 | ||
|
|||
正式会员
等级: 四袋长老
|
如果这个测试代码能满足你的要求,那么接下来按照你的流程走就是很简单的事情了(获取所选文件夹所有tif文档,每5个文档分组操作即可)。代码如下 代码:
(function (){ var f = Folder.selectDialog ('选择文件夹'), fA = f.getFiles ('*.tif'), fs = f.fsName, op = new TiffSaveOptions(), i = 0; op.imageCompression = TIFFEncoding.TIFFLZW; // 设置LZW压缩 for (; i < fA.length; i += 5){ process (fA[i]); } function process (base) { var fn = base.name.split('_')[0], PMS = unescape(f.getFiles (fn + '*.tif').toString().match(/(Pantone.+?)\.tif/)[1]), F = function (str){return File(fs + '/' + fn + '_' + str +'.tif')}, _C = F('Cyan'), _M = F('Magenta'), _Y = F('Yellow'), _K = F('Black'), _S = F(PMS), loop = [_M, _Y, _K, _S], mDoc = app.open(_C), i = 0, doc; mDoc.changeMode(ChangeMode.MULTICHANNEL); for (; i < 4; i++){ doc = app.open(loop[i]); doc.channels[0].duplicate (mDoc); doc.close(SaveOptions.DONOTSAVECHANGES); } mDoc.channels[4].name = PMS.toUpperCase(); mDoc.channels[4].kind = ChannelType.SPOTCOLOR; mDoc.changeMode(ChangeMode.CMYK); mDoc.saveAs(F('合并'), op); mDoc.close(SaveOptions.DONOTSAVECHANGES); } })(); 如果是我的话,我可能会将每一套文档单独放置于子文件夹,脚本运行时选择父文件夹,遍历处理子文件夹。合成的文件我会选择放置于父文件夹,结果一目了然。 |
||
右列 2 位会员因为此帖价值甚高向 animalia 表示感谢: |
joe1306624644 (2011-12-14),
xiaoqing639441 (2011-11-06)
|