-1
是否有一個腳本可以遍歷每個swatchcolor,每次它複製「圖層1」並使用swatchcolor填充它?因此,如果樣本中有20種顏色,則會添加20個不同顏色的新圖層。illustrator fillcolor對象
如果是的話,每個新圖層都可以從swatch獲取名稱,並且可以將其導出爲swatchName.jpg?
是否有一個腳本可以遍歷每個swatchcolor,每次它複製「圖層1」並使用swatchcolor填充它?因此,如果樣本中有20種顏色,則會添加20個不同顏色的新圖層。illustrator fillcolor對象
如果是的話,每個新圖層都可以從swatch獲取名稱,並且可以將其導出爲swatchName.jpg?
通過Illustrator JavaScript API你會發現Document對象有一個色板數組。所有剩下要做的就是:
我建議使用PNG-24,而不是JPG來的一箱避免壓縮文物。
這裏有一個評論腳本,用於導出文件夾首先提示:
#target illustrator
//get a reference to the the current document
var doc = app.activeDocument;
//...and it's swatches
var swatches = doc.swatches;
//select a folder to save images into
var savePath = Folder.selectDialog('Please select a folder to export swatch images into', '~');
//exported image dimensions
var width = 100;
var height = 100;
//PNG export options
var pngExportOpts = new ExportOptionsPNG24();
pngExportOpts.antiAliasing = false;//keep it pixel perfect
pngExportOpts.artBoardClipping = false;//use the path's dimensions (setup above), ignore full document size
pngExportOpts.saveAsHTML = false;
pngExportOpts.transparency = true;//some swatches might have transparency
//remove strokes
doc.defaultStroked = false;
//go through the swatches
for(var i = 0; i < swatches.length; i++){
//add a rectangle
var rect = doc.pathItems.rectangle(0, 0, width, height);
//set the fill colour based on the current swatch colour
rect.fillColor = swatches[i].color;
//export png
doc.exportFile(new File(savePath+ '/' + swatches[i].name + '.png'), ExportType.PNG24, pngExportOpts);
//remove any previous paths (in case of transparent swatches)
doc.pathItems.removeAll();
}
另外值得一提的你可以parse .ase(Adobe色板交換)的文件中所選擇的語言來導出圖像,共使用Illustrator避免。