Попытка создать сценарий иллюстратора, чтобы заполнить выбранный цвет и экспортировать его для каждого цвета в группе образцов. - PullRequest
1 голос
/ 04 ноября 2019

Как видно из названия, я собрал воедино и написал свой собственный код в это чудовище, которое вы видите ниже. Прошло уже три года с тех пор, как я занимался программированием, и моя основная работа - графический дизайн, поэтому, пожалуйста, извините за неаккуратное программирование. То, что я пытаюсь сделать, - это запустить скрипт через образцы и применить цвет заливки к выбранному на экране, а затем экспортировать файл .png для каждого цвета с именем файла в качестве цвета образца.

Кажется, все работает со сценарием, за исключением того, что не применяется цвет заливки. Он экспортирует и даже переименовывает файл для каждого цвета в группе образцов, но все они экспортируют один и тот же цвет по умолчанию, поэтому я не верю, что выделение заполнено. Может кто-нибудь проинструктировать меня о том, что у меня не так в моем коде? Если я смогу заставить этот код работать, он превратит необоснованный объем работы во что-то более управляемое.

Спасибо!

#target illustrator

//get a reference to the the current document

var doc = app.activeDocument;
var mySelection = doc.selection;
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


//go through the swatches


for(var i = 0; i < swatches.length; i++){
   //set the fill colour based on the current swatch colour

   mySelection.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();
}
...