Convert selected layers into smart objects via script in photoshop

16 views Asked by At

I have created the following Photoshop script designed to convert selected layers into smart objects:

// Function to convert selected layers to smart objects
function convertToSmartObject() {
    var doc = app.activeDocument;
    var selectedLayers = getSelectedLayers(doc);

    // Iterate through selected layers
    for (var i = 0; i < selectedLayers.length; i++) {
        var layer = selectedLayers[i];
        // Convert the layer to a smart object
        convertLayerToSmartObject(doc, layer);
    }
}

// Function to get selected layers
function getSelectedLayers(doc) {
    var selectedLayers = [];
    var layers = doc.layers;
    for (var i = 0; i < layers.length; i++) {
        var layer = layers[i];
        if (layer.selected) {
            selectedLayers.push(layer);
        }
    }
    return selectedLayers;
}

// Function to convert a layer to a smart object
function convertLayerToSmartObject(doc, layer) {
    doc.activeLayer = layer;
    createSmartObject();
}

// Function to create a smart object
function createSmartObject() {
    var idnewPlacedLayer = stringIDToTypeID('newPlacedLayer');
    executeAction(idnewPlacedLayer, undefined, DialogModes.NO);
}

// Call the function to convert selected layers to smart objects
convertToSmartObject();

Why isn't this script functioning properly? What might be the issue with my script?

0

There are 0 answers