最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

批量更改圖片尺寸的ps腳本

  發(fā)布時(shí)間:2008-09-06 08:08:30   作者:佚名   我要評(píng)論
用于批量更改打開(kāi)的圖片的尺寸的photoshop 腳本 (javascript)。 操作對(duì)象: 當(dāng)前打開(kāi)的所有文檔;(注意不要有尚未保存過(guò)的新建的文檔,或無(wú)法直接保存的文檔,否則會(huì)中斷批處理) 用法: 把解壓出來(lái)的 “改變尺寸.jsx” 文件復(fù)制到 “ps安裝目錄\預(yù)置\腳本” 下,

用于批量更改打開(kāi)的圖片的尺寸的photoshop 腳本 (javascript)。

操作對(duì)象

當(dāng)前打開(kāi)的所有文檔;(注意不要有尚未保存過(guò)的新建的文檔,或無(wú)法直接保存的文檔,否則會(huì)中斷批處理)

用法

把解壓出來(lái)的 “改變尺寸.jsx” 文件復(fù)制到 “ps安裝目錄\預(yù)置\腳本” 下,重新打開(kāi)ps以后就可以在~
[菜單- 文件-腳本] 里面找到 “改變尺寸”

或者解壓出來(lái),在開(kāi)著ps的情況下,直接雙擊也可以用。

操作結(jié)果

直接覆蓋保存并關(guān)閉文檔。(最好復(fù)制一個(gè)文件夾,然后再打開(kāi)圖片執(zhí)行這個(gè)操作,不然就沒(méi)有原始文件嘍)

目前只在cs3中文版上測(cè)試通過(guò) 

若其他ps版本有問(wèn)題,或者有什么bug還請(qǐng)多多反饋!謝謝!
對(duì)這個(gè)沒(méi)什么研究,剛學(xué)~尚苦于沒(méi)有資料,更歡迎高人多多指點(diǎn)

v1.0版本下載(old)

附上代碼,方便大家指正:

#target photoshop
app.bringToFront();
// 帶自動(dòng)判斷橫豎的統(tǒng)一長(zhǎng)寬操作,對(duì)當(dāng)前所有打開(kāi)文檔進(jìn)行操作。因?yàn)槭侵苯颖4骊P(guān)閉,原文件要注意備份!
if (app.documents.length == 0){
    alert("請(qǐng)打開(kāi)至少一個(gè)文件");
}else{
var PRESOLUTION = 72;
app.preferences.rulerUnits = Units.PIXELS;
        
res ="dialog { \
text:'批量尺寸調(diào)整 - 直接覆蓋保存-請(qǐng)注意備份',\
        group: Group{orientation: 'column',alignChildren:'left',\
                corrdination: Panel { orientation: 'row', \
                        text: '需要尺寸', \
                                x: Group { orientation: 'row', \
                                        s: StaticText { text:'長(zhǎng):' }, \
                                        e: EditText { preferredSize: [50, 20] } ,\
                                        p: StaticText { text:'pixel' }, \
                                        }, \
                                y: Group { orientation: 'row', \
                                        s: StaticText { text:'寬:' }, \
                                        e: EditText { preferredSize: [50, 20] }, \
                                        p: StaticText { text:'pixel' }, \
                                        } \
                                },  \
                        a:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'保持原圖長(zhǎng)寬比,新尺寸僅作外框限定'},\
                                }, \
                        b:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'不判斷原圖橫豎'},\
                                }, \
                },\
        buttons: Group { orientation: 'row', alignment: 'right',\
                Btnok: Button { text:'確定', properties:{name:'ok'} }, \
                Btncancel: Button { text:'取消', properties:{name:'cancel'} } \
                } \
}";
win = new Window (res);
win.buttons.Btncancel.onClick = function () {
this.parent.parent.close();
}
win.group.a.c.onClick = function(){ //如果勾選了a,則b被鎖定
        if(win.group.a.c.value){
                win.group.b.c.value=true;
        }
}
win.group.b.c.onClick = function(){
        if(win.group.a.c.value){
                win.group.b.c.value=true;
        }
}
win.buttons.Btnok.onClick = function () {
    
                var x=Number(win.group.corrdination.x.e.text);
                var y=Number(win.group.corrdination.y.e.text);
                var a=win.group.a.c.value;
                var b=win.group.b.c.value; //選中則不顛倒橫豎,以輸入值為準(zhǔn)
                
                if (!b && x<y){  //確保PW>=PH
                        var PW=y
                        var PH=x
                        }else{
                        var PW=x
                        var PH=y
                        }    
    while (app.documents.length){
    var docRef = app.activeDocument; // 當(dāng)前活動(dòng)文檔為操作對(duì)象    
                var dw = docRef.width;
                var dh = docRef.height;
                var fw = PW;
                var fh = PH;
                if(!b && dh>dw){
                    fw = PH;
                    fh = PW;
                }
                if(a){
                    w1 =dw/fw;
                    h1 =dh/fh;
                    if(w1>h1){
                        fh =dh/w1;    
                    }else{
                        fw =dw/h1;
                    }
                }
        docRef.resizeImage(fw, fh, PRESOLUTION, ResampleMethod.BICUBIC);
        docRef.save();
        docRef.close(); //關(guān)閉當(dāng)前文檔
}
this.parent.parent.close();
}
win.center();
win.show();
}

v1.11版本下載

可以把當(dāng)前文檔(包括未保存過(guò)的)直接修改尺寸并保存為jpg。(注意會(huì)關(guān)閉當(dāng)前文檔?。?br />可以針對(duì)整個(gè)文件夾進(jìn)行操作。(程序設(shè)定為“不包括隱藏文件”,因此不想處理和不能處理的文件可以先設(shè)置為[隱藏]屬性)
可選擇另存jpg 至另一個(gè)文件夾。
另存時(shí)支持文件名前后添加字符。

附上代碼,方便大家指正:

#target photoshop
app.bringToFront();
// 帶自動(dòng)判斷橫豎的統(tǒng)一長(zhǎng)寬操作。默認(rèn)是直接保存關(guān)閉,原文件要注意備份! v1.11 - 2008.2.23
var PRESOLUTION = 72;
app.preferences.rulerUnits = Units.PIXELS;
        
res ="dialog { \
text:'批量尺寸調(diào)整 ',\
        group: Group{orientation: 'column',alignChildren:'left',\
                top:StaticText{text:'默認(rèn)為直接覆蓋保存 - 請(qǐng)注意選擇或做好備份',align:'left'},\
                corrdination: Panel { orientation: 'row', \
                        text: '需要尺寸', \
                                x: Group { orientation: 'row', \
                                        s: StaticText { text:'寬:' }, \
                                        e: EditText { preferredSize: [50, 20] } ,\
                                        p: StaticText { text:'px' }, \
                                        }, \
                                y: Group { orientation: 'row', \
                                        s: StaticText { text:'高:' }, \
                                        e: EditText { preferredSize: [50, 20] }, \
                                        p: StaticText { text:'px' }, \
                                        } ,\
                                }, \
                a:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'保持原圖長(zhǎng)寬比,新尺寸僅作外框限定'},\
                                }, \
                b:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'不判斷原圖橫豎'},\
                                }, \
                now:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'對(duì)文件夾進(jìn)行操作(否則處理所有目前打開(kāi)的文檔)'},\
                                }, \
                folderO:Group{ orientation: 'row', \
                                b: Button {text:'待處理文件夾', properties:{name:'open'} ,helpTip:'選擇您需要處理的文件所在的文件夾'},\
                                s: EditText  { text:'', preferredSize: [180, 20] },\
                                },\
                other:Group{ orientation: 'row', \
                                c: Checkbox { preferredSize: [16, 16]} ,\
                                s: StaticText {text:'啟用另存 (jpg格式)'},\
                                }, \
                otherSet: Panel {orientation: 'column',alignChildren:'left',\
                        text: '另存設(shè)置', \
                        Quality: Group { orientation: 'row',  \
                                    s: StaticText { text:'Jpeg壓縮質(zhì)量:' }, \
                                    e: EditText { preferredSize: [30, 20] ,text:'7'} ,\
                                    s: StaticText { text:'(0-12,數(shù)值越大質(zhì)量越高)' }, \
                                    }, \
                        head: Group { orientation: 'row',  \
                                    s: StaticText { text:'在文件名前添加字符:' }, \
                                    e: EditText { preferredSize: [50, 20] } ,\
                                    }, \
                        foot: Group { orientation: 'row',  \
                                    s: StaticText { text:'在文件名后添加字符:' }, \
                                    e: EditText { preferredSize: [50, 20] }, \
                                    } ,\
                        otherF:Group{ orientation: 'row', \
                                    c: Checkbox { preferredSize: [16, 16]} ,\
                                    s: StaticText {text:'另存至其他文件夾'},\
                                    }, \
                        folderS:Group{ orientation: 'row', \
                                    b: Button {text:'另存至', properties:{name:'save'} ,helpTip:'選擇您處理好的文件要保存至的文件夾'},\
                                    s: EditText  { text:'', preferredSize: [180, 20] },\
                                    },\
                        },\
                },\
        buttons: Group { orientation: 'row', alignment: 'right',\
                Btnok: Button { text:'確定', properties:{name:'ok'} }, \
                Btncancel: Button { text:'取消', properties:{name:'cancel'} } \
                }, \
}";
win = new Window (res);
win.buttons.Btncancel.onClick = function () {
this.parent.parent.close();
}
function lock_b(){  //如果勾選了a,則b被鎖定
        if(win.group.a.c.value){
                win.group.b.c.value=true;
        }
    }
win.group.a.c.onClick =function() { lock_b()};
win.group.b.c.onClick =function() { lock_b()};
// 打開(kāi)文件夾的操作
var folderOpen=win.group.folderO
var folderSave=win.group.otherSet.folderS
folderOpen.b.onClick = function() {
        var defaultFolder = folderOpen.s.text;
        var testFolder = new Folder(defaultFolder);
        if (!testFolder.exists) {
            defaultFolder = "~";
        }
        var selFolder = Folder.selectDialog("選擇待處理文件夾", defaultFolder);
        if ( selFolder != null ) {
            folderOpen.s.text = selFolder.fsName;
            folderOpen.s.helpTip = selFolder.fsName.toString();
        }
}
folderSave.b.onClick = function() {
        var defaultFolder = folderSave.s.text;
        var testFolder = new Folder(defaultFolder);
        if (!testFolder.exists) {
            defaultFolder = "~";
        }
        var selFolder = Folder.selectDialog("選擇要儲(chǔ)存至的文件夾", defaultFolder);
        if ( selFolder != null ) {
            folderSave.s.text = selFolder.fsName;
            folderSave.s.helpTip = selFolder.fsName.toString();
        }
}
// 初始化選項(xiàng)
win.group.folderO.enabled =false;
win.group.otherSet.enabled =false;
//操作文件夾開(kāi)關(guān)
win.group.now.c.onClick =function(){
    if (win.group.folderO.enabled) {
        win.group.folderO.enabled =false;
        }else{
        win.group.folderO.enabled =true;
        }
}
//另存開(kāi)關(guān)
win.group.other.c.onClick =function(){
    if (win.group.otherSet.enabled) {
        win.group.otherSet.enabled =false;
        }else{
        win.group.otherSet.enabled =true;
        if (!win.group.otherSet.otherF.c.value) {win.group.otherSet.folderS.enabled =false}
        }
}
//另存至文件夾開(kāi)關(guān)
win.group.otherSet.otherF.c.onClick =function(){
    if (win.group.otherSet.folderS.enabled) {
        win.group.otherSet.folderS.enabled =false;
        }else{
        win.group.otherSet.folderS.enabled =true;
        }
}
// 實(shí)際處理開(kāi)始
function newsize(docRef,a,b,PW,PH){ //改變圖象尺寸函數(shù)
            var dw = docRef.width;
            var dh = docRef.height;
            var fw = PW;
            var fh = PH;
            if(!b && dh>dw){
                fw = PH;
                fh = PW;
            }
            if(a){
                w1 =dw/fw;
                h1 =dh/fh;
                if(w1>h1){
                    fh =dh/w1;    
                }else{
                    fw =dw/h1;
                }
            }
    docRef.resizeImage(fw, fh, PRESOLUTION, ResampleMethod.BICUBIC);
}
function save(docRef) {    //儲(chǔ)存函數(shù)
        if (win.group.other.c.value){ //判斷是否另存
            
                docRef.flatten() ;//合并圖層,以儲(chǔ)存jpg
                docRef.changeMode(ChangeMode.RGB); // 更改為rgb模式,避免其它模式無(wú)法儲(chǔ)存                
                var jpegOptions = new JPEGSaveOptions();
                var setquality = Number(win.group.otherSet.Quality.e.text);
                if (setquality>12) {
                    setquality=12;
                }else if (setquality<0) {
                    setquality=0;
                }
                jpegOptions.quality = setquality;
                
                // 獲取另存文件夾及前后追加字段
                var headWord = win.group.otherSet.head.e.text;
                var footWord = win.group.otherSet.foot.e.text;    
                
                if (win.group.otherSet.otherF.c.value){ //如果選中另存至文件夾
                            if (win.group.otherSet.folderS.s.text){
                                var saveFolder = win.group.otherSet.folderS.s.text+"/";    
                            }else{    
                                var saveFolder = docRef.path+"/newsize_";  //容錯(cuò),避免沒(méi)有具體選擇另存到那個(gè)文件夾
                            }
                }else{
                            if (headWord || footWord){
                                var saveFolder = docRef.path+"/";
                            }else{
                                var saveFolder = docRef.path+"/newsize_"; //容錯(cuò),避免沒(méi)有添加前后綴而保存在本文件夾
                            }
                }
                                
            docRef.saveAs(new File(saveFolder + headWord +docRef.name.substring(0,docRef.name.lastIndexOf('.'))  + footWord + ".jpg"),jpegOptions);    //設(shè)定輸出文件名稱            
        }else{
            docRef.save();
        }
        docRef.close(SaveOptions.DONOTSAVECHANGES); //關(guān)閉當(dāng)前文檔    
}
win.buttons.Btnok.onClick = function () {    
        var x=Number(win.group.corrdination.x.e.text);
        var y=Number(win.group.corrdination.y.e.text);
        var a=win.group.a.c.value;
        var b=win.group.b.c.value; //選中則不顛倒橫豎,以輸入值為準(zhǔn)
        
        if (!b && x<y){  //確保PW>=PH
                var PW=y
                var PH=x
                }else{
                var PW=x
                var PH=y
                }    
            
        if (!win.group.now.c.value) {  // 當(dāng)前活動(dòng)文檔為操作對(duì)象    
                while (app.documents.length){
                        var docRef = app.activeDocument;
                        newsize(docRef,a,b,PW,PH);
                        save(docRef);
                }
        }else{ // 文件夾為操作對(duì)象            
                var openFolder = Folder(win.group.folderO.s.text);                
                var fileList = openFolder.getFiles() //獲取open文件夾下所有文件
                for (i=0;i<fileList.length;i++){
                    if (fileList[i] instanceof File && fileList[i].hidden == false){ //不處理隱藏文件
                        open(fileList[i]);
                        var docRef = app.activeDocument;
                        newsize(docRef,a,b,PW,PH);
                        save(docRef);
                    }
                }
        }
this.parent.parent.close();
}
win.center();
win.show();

 

相關(guān)文章

最新評(píng)論

延安市| 翁源县| 尼勒克县| 鞍山市| 肇庆市| 明水县| 岑巩县| 仁布县| 横峰县| 双流县| 左贡县| 苏州市| 乐都县| 仁寿县| 凌云县| 广昌县| 贡觉县| 内丘县| 遵义县| 大化| 高雄县| 丹阳市| 双桥区| 临朐县| 茂名市| 南充市| 太保市| 碌曲县| 新余市| 红原县| 柳州市| 海淀区| 中宁县| 曲沃县| 拜城县| 汉中市| 阳东县| 句容市| 凉山| 江永县| 石首市|