频道栏目
首页 > 资讯 > 其他综合 > 正文

photoshop脚本切图方法(习惯快捷键的朋友可以用,很方便)

15-04-08        来源:[db:作者]  
收藏   我要投稿

photoshop脚本切图方法(习惯快捷键的朋友可以用,很方便)

by 伍雪颖
其实脚本切图的原理是跟安装插件切图是一样的, 不过像安装DevRocket这种插件特麻烦,还经常装不成功,于是直接用脚本.

#target photoshop

function main(){
	var doc = app.activeDocument;
	var psdPath = app.activeDocument.path;
	var outFolderName="pngExport";
	var twosize=true;

	var outFolder = new Folder(psdPath + "/"+outFolderName);
	if (!outFolder.exists) {
	    outFolder.create();
	}

	var lname = doc.activeLayer.name;
	saveLayer(doc.activeLayer, lname, psdPath, false);	

	function saveLayer(layer, lname, path, shouldMerge) {
	    dupLayers();
	    if (shouldMerge === undefined || shouldMerge === true) {
		activeDocument.mergeVisibleLayers();
	    }
	    activeDocument.trim(TrimType.TRANSPARENT,true,true,true,true);
	    var saveFile= File(path +"/"+outFolderName+"/"+lname+"@2x.png");
	    SavePNG(saveFile);

	    if(twosize){
	    
	    var re_width=activeDocument.width*0.5;
	    var re_height=activeDocument.height*0.5;

	    activeDocument.resizeImage(re_width,re_height);
	    var saveFilesmall= File(path +"/"+outFolderName+"/"+lname+".png");
	    SavePNG(saveFilesmall);
	    
	    }
	    

	    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
	}
}


if(documents.length && !activeDocument.activeLayer.isBackgroundLayer){
	try {
            main();
        } catch (e) {
            alert(e);
        }
}

function dupLayers() { 
        var descac = new ActionDescriptor();
        var refac1 = new ActionReference();
        refac1.putClass( charIDToTypeID('Dcmn') );
	descac.putReference( charIDToTypeID('null'), refac1 );
        descac.putString( charIDToTypeID('Nm  '), activeDocument.activeLayer.name );
        var refac2 = new ActionReference();
        refac2.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
        descac.putReference( charIDToTypeID('Usng'), refac2 );
        executeAction( charIDToTypeID('Mk  '), descac, DialogModes.NO );
}

function SavePNG(saveFile){
    var pngOpts = new ExportOptionsSaveForWeb; 
    pngOpts.format = SaveDocumentType.PNG
    pngOpts.PNG8 = false; 
    pngOpts.transparency = true; 
    pngOpts.interlaced = false; 
    pngOpts.quality = 100;
    activeDocument.exportDocument(new File(saveFile),ExportType.SAVEFORWEB,pngOpts); 
}


相关TAG标签
上一篇:Android 开源框架Universal-Image-Loader实例分析
下一篇:poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS 整数拆分
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站