Làm cách nào để xuất các lớp Illustrator thành từng ảnh riêng lẻ?


15

Tôi có một tệp Illustrator có chứa các mẫu. Tôi muốn xuất từng mẫu dưới dạng một hình ảnh riêng lẻ để sử dụng trong chương trình mới này mà tôi đang thử gọi là Phác thảo. Có một kịch bản xử lý hàng loạt xuất các lớp dưới dạng PNG hoặc SVG không? Tôi muốn có mỗi mẫu hình học có sẵn dưới dạng PNG, không phải là một tệp lớn.

Có suy nghĩ gì không?

png

Câu trả lời:


14

Nếu các mẫu thực sự nằm trên các lớp riêng lẻ, bạn có thể sử dụng tập lệnh để xuất từng lớp dưới dạng một png riêng lẻ.

Carlos Canto đã viết một kịch bản cho Illustrator và đăng nó trên các diễn đàn Adobe.

Trong trường hợp thối liên kết, đây là kịch bản của 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]);
        }
    }
}

Sao chép và dán tệp này vào tệp văn bản và lưu tệp văn bản có hậu tố .jsx. Sau đó đặt tệp .jsx vào Adobe Illustrator CS (x) / Presets / [ngôn ngữ của bạn] / Tập lệnh. Sau khi khởi chạy lại Illustrator, tập lệnh sẽ hiển thị qua File > Scriptsbên trong Illustrator.


FYI, tập lệnh được đăng ở trên không hoạt động trong Illustrator CC, nó cho tôi: Lỗi 8, Lỗi cú pháp. Dòng 1:

1
Kịch bản hoạt động hoàn toàn tốt trong Illustrator CC ở đây.
Scott

2
Tôi cũng đã gặp lỗi cú pháp trên dòng 1. Khi tôi mở lại .jsx, có thêm mã phía trên dòng 1 ban đầu từ mã ở trên. Tôi đã xóa mọi thứ ở trên #target Illustrator đã lưu tệp .jsx. Tôi đã khởi chạy lại Illustrator và kịch bản hoạt động tốt. Tôi cũng đang sử dụng CC

Đây là phiên bản cập nhật sử dụng tên lớp trong tên tệp thay vì bộ đếm số (vì vậy "mydoc-layername.png" thay vì "mydoc-1.png") ... nếu có ai cần như tôi. gist.github.com/34e54d199de123b8e3c50a305f23115e
Chris Emerson

5

Để đơn giản và tốc độ của quy trình làm việc, có lẽ tôi sẽ sử dụng công cụ lát để tạo các lát cho các mẫu riêng lẻ, sau đó Lưu cho Web, đảm bảo rằng "Tất cả các lát" đã được chọn trong trình đơn thả xuống "Xuất:". Nếu tôi đang xây dựng từ đầu, tôi sẽ đặt từng mẫu trên bản vẽ nghệ thuật của riêng nó (mà bạn vẫn có thể làm) và sử dụng Tệp> Xuất với tùy chọn "Sử dụng Bản vẽ nghệ thuật".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.