Photoshop使用批处理按比例设置图片宽度和高度的像素最大值
作者:parno 日期:2019-03-20
图片要上传到网上前拿原图缩小是经常要做咯重要一步,毕竟除脱“多图杀猫”以外,还要声明“大图预警”。假设图片全是横式搭竖式倒也好办,Photoshop里一个批处理就可以解决。只不过,假设图片横竖全有,比方说要求竖图高么800像素,横图宽为800像素就难办哉,要么拿横竖图片分开来处理。对伊种“人工智能”就可以做却要动用“人肉智能”的事体本人是弗大欢喜做的:)。所以依是一顿东拼西凑搞出伊个脚本文件,假设恁想让横竖图片分别可以定义最大边倒也不是忒难,可以自家试一试。
因为本博经常被坏人用机器自动注册海外“垃圾帐号”,所以关脱了注册功能。假设恁?注册过用户也不要紧,只要拿上头咯代码复制到记事本,保存成扩展名是“jsx”咯文件就可以落Photoshop里加载使用哉。
复制内容到剪贴板 程序代码
#target photoshop
app.bringToFront();
var PRESOLUTION = 72;
main();
function main() {
var l = 800;
l=prompt("请输入图片宽高的像素最大值:", "800");
if(l==null){ return false; }
if(!isInt(l)){
alert("输入值只能是大于 0 的整数!");
return false;
}
var topFolder = Folder.selectDialog("选择待处理文件夹", "~");
var fileList=new Array();
fileList=FindAllFiles(topFolder.toString(), /\.(jpg|tif|psd|bmp|gif|png)$/i, fileList);
for (var a=0; a open (fileList[a]);
var oldPref = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var doc = app.activeDocument;
var w = doc.width;
var h = doc.height;
if(h > l || w > l) { //图片高或宽大于设定值才会处理
if (h > w){ //竖式图片
w =Math.round( w * l / h);
h = l;
}else{ //横式或正方形图片
h = Math.round( h * l / w);
w = l;
}
//alert(w + "," + h);
doc.resizeImage(UnitValue(w,'px'),UnitValue(h,'px'));
app.preferences.rulerUnits = oldPref;
doc.close(SaveOptions.SAVECHANGES);
}
}
}
function isInt(v){
return ((Math.round(v) == v) && v > 0);
}
///////////////////////////////////////////////////////////////////////////////
// Function: FindAllFiles
// Usage: Find all the files in the given folder recursively
// Input: srcFolder is a string to a folder
// destArray is an Array of File objects
// Return: Array of File objects, same as destArray
///////////////////////////////////////////////////////////////////////////////
function FindAllFiles( srcFolderStr, mask, destArray ) {
var fileFolderArray = Folder( srcFolderStr ).getFiles();
for ( var i = 0; i < fileFolderArray.length; i++ ) {
var fileFoldObj = fileFolderArray[i];
if ( fileFoldObj instanceof File ) {
if (fileFoldObj.fullName.search(mask) ) { destArray.push( fileFoldObj ); }
} else { // folder
FindAllFiles( fileFoldObj.toString(), mask, destArray );
}
}
return destArray;
}
app.bringToFront();
var PRESOLUTION = 72;
main();
function main() {
var l = 800;
l=prompt("请输入图片宽高的像素最大值:", "800");
if(l==null){ return false; }
if(!isInt(l)){
alert("输入值只能是大于 0 的整数!");
return false;
}
var topFolder = Folder.selectDialog("选择待处理文件夹", "~");
var fileList=new Array();
fileList=FindAllFiles(topFolder.toString(), /\.(jpg|tif|psd|bmp|gif|png)$/i, fileList);
for (var a=0; a
var oldPref = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.PIXELS;
var doc = app.activeDocument;
var w = doc.width;
var h = doc.height;
if(h > l || w > l) { //图片高或宽大于设定值才会处理
if (h > w){ //竖式图片
w =Math.round( w * l / h);
h = l;
}else{ //横式或正方形图片
h = Math.round( h * l / w);
w = l;
}
//alert(w + "," + h);
doc.resizeImage(UnitValue(w,'px'),UnitValue(h,'px'));
app.preferences.rulerUnits = oldPref;
doc.close(SaveOptions.SAVECHANGES);
}
}
}
function isInt(v){
return ((Math.round(v) == v) && v > 0);
}
///////////////////////////////////////////////////////////////////////////////
// Function: FindAllFiles
// Usage: Find all the files in the given folder recursively
// Input: srcFolder is a string to a folder
// destArray is an Array of File objects
// Return: Array of File objects, same as destArray
///////////////////////////////////////////////////////////////////////////////
function FindAllFiles( srcFolderStr, mask, destArray ) {
var fileFolderArray = Folder( srcFolderStr ).getFiles();
for ( var i = 0; i < fileFolderArray.length; i++ ) {
var fileFoldObj = fileFolderArray[i];
if ( fileFoldObj instanceof File ) {
if (fileFoldObj.fullName.search(mask) ) { destArray.push( fileFoldObj ); }
} else { // folder
FindAllFiles( fileFoldObj.toString(), mask, destArray );
}
}
return destArray;
}
因为本博经常被坏人用机器自动注册海外“垃圾帐号”,所以关脱了注册功能。假设恁?注册过用户也不要紧,只要拿上头咯代码复制到记事本,保存成扩展名是“jsx”咯文件就可以落Photoshop里加载使用哉。
[本日志由 parno 于 2019-08-18 02:05 AM 更新]
上一篇: 2018高中组网安试题(7.30)下一篇: Edexcel AS and A level ActiveBook 1-10 etc.
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Photoshop 批处理 jsx
相关日志:
评论: 0 | 引用: 0 | 查看次数: 4376
发表评论