Используя сценарии JavaScript в Adobe Photoshop, как сохранить несколько слоев одинакового размера? - PullRequest
0 голосов
/ 16 июня 2010

У меня есть скрипт для сохранения некоторых слоев. Но это сохранить как оригинальный размер слоя.

Я хочу сохранить слои одинакового размера.

Знаете или у вас есть такой сценарий?

1 Ответ

0 голосов
/ 26 июня 2010

Вот код, который я написал некоторое время назад:

var folder = new Folder (SOME_PATH);var files = folder.getFiles ();

for (var i = 0; i < files.length; i++)
{
app.load(files[i]);
var docRef = app.activeDocument;
resize(docRef);

var options = new ExportOptionsSaveForWeb();
var a = files[i].name.split('.');
var filename = a[0] + '.' + ( a[1].toLowerCase() != 'jpg' ? a[1] + '.' : '' ) + 'jpg';
var JPEGFile = new File( SOME_PATH + filename );

options.quality = 70;
options.format = SaveDocumentType.JPEG; //I Suppose you might want to save to some other format though
docRef.exportDocument(JPEGFile, ExportType.SAVEFORWEB, options);
docRef.close(SaveOptions.DONOTSAVECHANGES);

}

function resize(doc)
{
var TARGET = SOME_TARGET;   

var dist = Math.max(doc.width.as('px'), doc.height.as('px'));

if(dist > 0)
{
    var ratio = (TARGET / dist);
    var newWidth = new UnitValue(doc.width.as('px') * ratio, 'px')
    var newHeight = new UnitValue(doc.height.as('px') * ratio, 'px')
    doc.resizeImage(newWidth, newHeight);   
    //alert('width:' + doc.width * ratio + ' height:' + doc.height * ratio);
}

}
...