У кого-нибудь есть скрипт, который ставит изображение с рабочего стола на изображение в CC 2014?

Моему клиенту нужно несколько кадров для большой группы изображений, но он постоянно меняет рекомендации. Поскольку мне нужно продолжать работать над файлами, я надеюсь импортировать рекомендации в каждый файл из одного файла, чтобы в конце я мог использовать их для пакетной обработки. Следующий скрипт кажется максимально близким к тому, что мне нужно, но он падает в строке 6:

file = app.openDialog();//opens dialog,choose one image

if(file[0]){ //if you have chosen an image
   app.load(file[0]); //load it into documents
   backFile= app.activeDocument; //prepare your image layer as active document
   backFile.resizeImage(width,height); //resize image into given size i.e 640x480
   backFile.selection.selectAll();
   backFile.selection.copy(); //copy image into clipboard
   backFile.close(SaveOptions.DONOTSAVECHANGES); //close image without saving changes
   doc.paste(); //paste selection into your document
   doc.layers[0].name = "BackgroundImage"; //set your layer's name
}

Любая помощь будет принята с благодарностью!


person user3847865    schedule 17.07.2014    source источник


Ответы (1)


Есть некоторые переменные, которые не были установлены: например, doc, ширина и высота. Будет работать, если в начале вы добавите

var width = 640;
var height= 480;
var doc = activeDocument;

Но я не уверен, что это то, что вы ищете, потому что этот скрипт изменяет размер изображения, которое он открывает, а затем вставляет это изображение с измененным размером в 1 открытый документ. Если вам нужно вставить 1 изображение во все имеющиеся у вас документы, я бы сделал что-то, что:

var f = File.openDialog ();

if (f) {
    backFile= app.open(f);
    backFile.selection.selectAll();
    backFile.selection.copy(); //copy image into clipboard
    backFile.close(SaveOptions.DONOTSAVECHANGES); //close image without saving changes

for (i=0; i<documents.length; i++) {
        activeDocument = documents[i];
        activeDocument.paste();
    }
}
person Sergey Kritskiy    schedule 17.07.2014