Come esportare i livelli di Illustrator come singole immagini?


15

Ho un file Illustrator che contiene modelli. Vorrei esportare ogni modello come una singola immagine da utilizzare in questo nuovo programma che sto provando chiamato Sketch. Esiste uno script di elaborazione batch che esporta i livelli come PNG o SVG? Vorrei che ogni modello geometrico fosse disponibile come PNG, non come un file di grandi dimensioni.

qualche idea?

png

Risposte:


14

Se i modelli sono effettivamente su singoli livelli, potresti essere in grado di utilizzare gli script per esportare ogni livello come un singolo png.

Carlos Canto ha scritto una sceneggiatura per Illustrator e l'ha pubblicata nei forum Adobe.

In caso di marcescenza del link, ecco lo script di Carlos:

#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]);
        }
    }
}

Copia e incolla questo in un file di testo e salva il file di testo con un suffisso .jsx. Quindi posiziona il file .jsx in Adobe Illustrator CS (x) / Presets / [your language] / Scripts. Dopo aver riavviato Illustrator, lo script dovrebbe essere visibile tramite File > ScriptsIllustrator.


Cordiali saluti, lo script pubblicato sopra non funziona in Illustrator CC, mi dà: Errore 8, Errore di sintassi. Linea 1:

1
La sceneggiatura funziona perfettamente in Illustrator CC qui.
Scott,

2
Stavo anche ricevendo un errore di sintassi sulla riga 1. Quando ho riaperto il file .jsx c'era un codice aggiuntivo sopra la riga originale 1 dal codice sopra. Ho eliminato tutto sopra #target Illustrator salvato il file .jsx. Ho riavviato Illustrator e la sceneggiatura ora funziona bene. Sto anche usando CC

Ecco la versione aggiornata che utilizza il nome del livello nel nome del file anziché un contatore numerico (quindi "mydoc-layername.png" invece di "mydoc-1.png") ... se qualcun altro ha bisogno di me. gist.github.com/34e54d199de123b8e3c50a305f23115e
Chris Emerson

5

Per semplicità e velocità del flusso di lavoro, probabilmente utilizzerei lo strumento slice per creare sezioni per i singoli modelli, quindi Salva per Web, assicurandomi che "Tutte le sezioni" sia stato selezionato nel menu a discesa "Esporta:". Se stavo costruendo da zero, metterei ogni modello sulla sua tavola da disegno (cosa che potresti ancora fare) e userei File> Esporta con l'opzione "Usa tavole da disegno" selezionata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.