Як експортувати шари Illustrator як окремі зображення?


15

У мене є файл Illustrator, який містить візерунки. Я хотів би експортувати кожен візерунок як окреме зображення для використання в цій новій програмі, яку я намагаюся називати Ескіз. Чи існує сценарій пакетної обробки, який експортує шари як PNG або SVG? Я хотів би, щоб кожен геометричний візерунок був доступний як PNG, а не як один великий файл.

Будь-які думки?

png

Відповіді:


14

Якщо візерунки дійсно є на окремих шарах, ви можете використовувати сценарії, щоб експортувати кожен шар як окремий png.

Карлос Канто написав сценарій для Illustrator і розмістив його на форумах Adobe.

У разі гниття посилань, ось сценарій Карлоса:

#target Illustrator

//  script.name = exportLayersAsCSS_PNGs.jsx;
//  script.description = mimics the Save for Web, export images as CSS Layers (images only);
//  script.requirements = an open document; tested with CS5 on Windows. 
//  script.parent = carlos canto // 05/24/13; All rights reseved
//  script.elegant = false;


/**
* export layers as PNG
* @author Niels Bosma
*/
// Adapted to export images as CSS Layers by CarlosCanto


if (app.documents.length>0) {
    main();
}
else alert('Cancelled by user');


function main() {
    var document = app.activeDocument;
    var afile = document.fullName;
    var filename = afile.name.split('.')[0];


    var folder = afile.parent.selectDlg("Export as CSS Layers (images only)...");


    if(folder != null)
    { 
        var activeABidx = document.artboards.getActiveArtboardIndex();
        var activeAB = document.artboards[activeABidx]; // get active AB        
        var abBounds = activeAB.artboardRect;// left, top, right, bottom


        showAllLayers();
        var docBounds = document.visibleBounds;
        activeAB.artboardRect = docBounds;


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

        var n = document.layers.length;
        hideAllLayers ();
        for(var i=n-1, k=0; i>=0; i--, k++)
        {
            //hideAllLayers();
            var layer = document.layers[i];
            layer.visible = true;


            var file = new File(folder.fsName + '/' +filename+ '-' + k +".png");

            document.exportFile(file,ExportType.PNG24,options);
            layer.visible = false;
        }

        showAllLayers();
        activeAB.artboardRect = abBounds;
    }


    function hideAllLayers()
    {
        forEach(document.layers, function(layer) {
            layer.visible = false;
        });
    }


    function showAllLayers()
    {
        forEach(document.layers, function(layer) {
            layer.visible = true;
        }); 
    }


    function forEach(collection, fn)
    {
        var n = collection.length;
        for(var i=0; i<n; ++i)
        {
            fn(collection[i]);
        }
    }
}

Скопіюйте та вставте це у текстовий файл та збережіть текстовий файл із суфіксом .jsx. Потім помістіть .jsx файл в Adobe Illustrator CS (x) / Presets / [ваша мова] / Сценарії. Після перезапуску програми Illustrator сценарій повинен бути видимим через File > ScriptsIllustrator.


FYI, скрипт, розміщений вище, не працює в Illustrator CC, він дає мені: Помилка 8, синтаксична помилка. Рядок 1:

1
Сценарій працює абсолютно чудово в Illustrator CC тут.
Скотт

2
Я також отримував синтаксичну помилку в рядку 1. Коли я знову відкрив .jsx, з'явився додатковий код над початковим рядком 1 з коду вище. Я видалив усе вище #target Illustrator, зберегли файл .jsx. Я перезапустив Illustrator, і сценарій працює нормально. Я також використовую CC

Ось оновлена ​​версія, яка використовує ім'я шару у назві файлу замість числового лічильника (так "mydoc-layername.png" замість "mydoc-1.png") ... якщо хтось ще потребує, як я. gist.github.com/34e54d199de123b8e3c50a305f23115e
Кріс Емерсон

5

Для простоти та швидкості робочого процесу я б, ймовірно, використовував інструмент "Зрізи" для створення фрагментів для окремих шаблонів, а потім Зберегти для Інтернету, переконавшись, що в спадному меню "Експорт:" вибрано "Усі фрагменти". Якби я будував з нуля, я поставив би кожен шаблон на власному аркуші (що ви все ще можете зробити) і використовую File> Export з опцією "Use Artboards".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.