◆- Adobe插件与脚本区 主要讨论Adobe插件开发与软件脚本撰写

发表新主题 回复
 
只看楼主 主题工具
旧 2024-09-20, 14:37     #1
luciferjoker luciferjoker 当前离线
正式会员
等级: 小兄弟
级别:2 | 在线时长:16小时 | 升级还需:5小时级别:2 | 在线时长:16小时 | 升级还需:5小时
 
Uid: 736138
注册日期: 2024-09-14, 14:06
帖子: 10
感谢: 0
2 个帖子获得 3 次感谢
声望: 10 luciferjoker 向着好的方向发展
luciferjoker luciferjoker 当前离线
正式会员
等级: 小兄弟
级别:2 | 在线时长:16小时 | 升级还需:5小时级别:2 | 在线时长:16小时 | 升级还需:5小时
 
Uid: 736138
注册日期: 2024-09-14, 14:06
帖子: 10
感谢: 0
2 个帖子获得 3 次感谢
声望: 10 luciferjoker 向着好的方向发展
牛 分享一键将文件夹下所有EPS文件转PNG的脚本,并请求高手帮忙完善限定输出PNG储存代码   



这个脚本是GITHUB上找到的, 本来功能是 可以在 illustrator 中一键将文件夹下所有.ai 矢量文件全转成PNG的脚本

我小白一个,仅仅将脚本修改成也支持eps 的格式,目前输出的PNG图片都很小
,请求论坛重点高手能不能帮忙完善下, 添加 可以设置限定输出PNG像素的代码, 比如宽1000px, 如果能改成输出宽1000px的JPG也可以, 再次感谢帮忙的各位大神。

脚本代码如下:

// Required modules
var Folder = Folder,
File = File,
ExportOptionsPNG24 = ExportOptionsPNG24,
app = app;

// Select source folder containing EPS files
var sourceFolder = Folder.selectDialog("Select the source folder");

if (sourceFolder) {
// Select destination folder for PNG files
var destFolder = Folder.selectDialog("Select the destination folder");

if (destFolder) {
// Process EPS files
processFiles();
}
}

// Function to process EPS files
function processFiles() {
var files = sourceFolder.getFiles("*.eps");

for (var i = 0; i < files.length; i++) {
if (files[i] instanceof File && files[i].name.indexOf(".eps") !== -1) {
convertToPNG(files[i]);
$.sleep(2000); // Add a delay of 1 second before processing the next file
}
}

alert("Conversion complete!");
}

// Function to convert EPS file to PNG
function convertToPNG(file) {
var doc = app.open(file);

// Set PNG export options
var exportOptions = new ExportOptionsPNG24();
exportOptions.artBoardClipping = true;
exportOptions.transparency = true;

// Set destination file
var destFile = new File(destFolder + "/" + file.name.replace(".eps", ".png"));

// Export the document as PNG
doc.exportFile(destFile, ExportType.PNG24, exportOptions);

// Close the document
doc.close(SaveOptions.DONOTSAVECHANGES);
}


----------------------------------------------------------------
脚本下载:EPStoPNGs.zip
luciferjoker 当前离线   回复时引用此帖回复时引用此帖
旧 2024-09-20, 16:11   只看该作者   #2
luciferjoker luciferjoker 当前离线
正式会员
等级: 小兄弟
级别:2 | 在线时长:16小时 | 升级还需:5小时级别:2 | 在线时长:16小时 | 升级还需:5小时
 
Uid: 736138
注册日期: 2024-09-14, 14:06
帖子: 10
感谢: 0
2 个帖子获得 3 次感谢
声望: 10 luciferjoker 向着好的方向发展
luciferjoker luciferjoker 当前离线
正式会员
等级: 小兄弟
级别:2 | 在线时长:16小时 | 升级还需:5小时级别:2 | 在线时长:16小时 | 升级还需:5小时
 
Uid: 736138
注册日期: 2024-09-14, 14:06
帖子: 10
感谢: 0
2 个帖子获得 3 次感谢
声望: 10 luciferjoker 向着好的方向发展
默认

又在GITHUB上发现了一个脚本, 这个可以输出指定分辨率的PNG 文件, 但是不知道怎么把 这个指定分辨率 融合到上一个 脚本中, 能请懂的 高手帮帮忙么?

----------------------------------------------
/**
* IllustratorBulkExporter.jsx
* Easily "Export for web" in a lot of dimensions at a time
* https://github.com/chteuchteu/Illust...lkExporter.jsx
* Quentin Stoeckel <stoeckel.quentin@gmail.com>
*/

var options = {
dimensions: [
1024
],
fileName: 'icon-{}x{}.png'
};



var CustomExporter = function(options) {
this.options = options;
};

CustomExporter.prototype = {
doExport: function() {
var self = this;

this.folder = Folder.selectDialog();
this.document = app.activeDocument;

if (!this.document || !this.folder)
throw new Error("Invalid folder or document.");

for (var i=0; i<this.options.dimensions.length; i++) {
var dimension = this.options.dimensions[i];
var fileName = self.options.fileName.split('{}').join(dimension);
self.saveToRes(dimension, fileName);
}
},

saveToRes: function(scaleTo, fileName) {
scaleTo = scaleTo/this.document.width*100.0;

var layer, resFolder;

if (fileName.indexOf('/') != -1) {
// Create subdirectory
var subdir = fileName.substr(0, fileName.indexOf('/'));
resFolder = new Folder(this.folder.fsName + '/' + subdir);
fileName = fileName.substr(t.indexOf('/')+1);
}
else
resFolder = this.folder;

if (!resFolder.exists)
resFolder.create();

for (var i = this.document.layers.length - 1; i >= 0; i--) {
layer = this.document.layers[i];

if (!layer.locked && layer.name.indexOf("!") === -1) {
this.hideAllLayers();
layer.visible = true;

var file = new File(resFolder.fsName+ "/" + fileName);

var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = true;
options.artBoardClipping = true;
options.verticalScale = scaleTo;
options.horizontalScale = scaleTo;

this.document.exportFile(file, ExportType.PNG24, options);
}
}
},

hideAllLayers: function() {
for (var i = this.document.layers.length - 1; i >= 0; i--) {
var layer = this.document.layers[i];
if (!layer.locked && layer.name.indexOf("!") === -1) {
layer.visible = false;
}
}
}
};

var exporter = new CustomExporter(options);
exporter.doExport();
luciferjoker 当前离线   回复时引用此帖回复时引用此帖
旧 2024-09-25, 15:58   只看该作者   #3
peterpan1983 peterpan1983 当前离线
正式会员
等级: 四袋长老
级别:20 | 在线时长:501小时 | 升级还需:24小时级别:20 | 在线时长:501小时 | 升级还需:24小时
 
Uid: 17154
注册日期: 2006-06-07, 20:13
年龄: 41
帖子: 223
感谢: 0
21 个帖子获得 21 次感谢
现金: 52金币
资产: 52金币
声望: 10 peterpan1983 向着好的方向发展
peterpan1983 peterpan1983 当前离线
正式会员
等级: 四袋长老
级别:20 | 在线时长:501小时 | 升级还需:24小时级别:20 | 在线时长:501小时 | 升级还需:24小时
 
Uid: 17154
注册日期: 2006-06-07, 20:13
年龄: 41
帖子: 223
感谢: 0
21 个帖子获得 21 次感谢
现金: 52金币
资产: 52金币
声望: 10 peterpan1983 向着好的方向发展
默认

11.jpg
这里的代码就是png的参数
peterpan1983 当前离线   回复时引用此帖回复时引用此帖
发表新主题 回复


发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
论坛广告报价   广告联系及办理企业会员服务QQ:57880388 站务管理QQ:35529388


所有时间均为 +8, 现在的时间是 2025-01-04 15:15.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022