try {
var inputFolder = Folder.selectDialog("请选择包含PNG图片的文件夹");
if (!inputFolder) throw "未选择文件夹";
var outputFolder = new Folder(inputFolder.fsName + "/resized_192x192");
if (!outputFolder.exists) outputFolder.create();
var files = inputFolder.getFiles("*.png");
if (files.length === 0) throw "未找到PNG文件";
var originalRulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (file instanceof File) {
processImage(file, outputFolder);
}
}
preferences.rulerUnits = originalRulerUnits;
alert("处理完成!\n共处理: " + files.length + " 个文件\n输出位置: " + outputFolder.fsName);
} catch (e) {
alert("错误: " + e);
}
function processImage(file, outputFolder) {
var doc = open(file);
doc.activeLayer = doc.layers[0];
try {
if (doc.width.value !== doc.height.value) {
throw file.name + " 不是1:1比例图片";
}
doc.resizeImage(
192,
192,
null,
ResampleMethod.BICUBICSHARPER
);
var pngOptions = new PNGSaveOptions();
pngOptions.compression = 9;
pngOptions.interlaced = false;
var outputFile = new File(outputFolder.fsName + "/" + file.name);
doc.saveAs(outputFile, pngOptions, true);
} catch (e) {
alert("处理失败: " + file.name + "\n原因: " + e);
} finally {
doc.close(SaveOptions.DONOTSAVECHANGES);
}
}
console