2015-12-06 20 views
6

Sadece genişliğin önemli olduğu farklı boyutlarda açık bir resmi yeniden boyutlandıran Photoshop için bir komut dosyası oluşturmaya çalışıyorum. Amaçlar, her yeniden boyutlandırmanın ardından, görüntünün orijinal durumunu eski haline getirmeli ve farklı bir genişlikte çalışmalıdır. Neredeyse bunu yapan bazı komut dosyaları var ama sadece hatalar alıyorum. Aldığım hata "undefined bir nesne değil".Javascript Görüntüyü yalnızca genişliğin önemli olduğu farklı boyutlarda yeniden boyutlandırma

şu anda aşağıdaki komut dosyasını var ama şaşırıp: Tanımlanamayan bir hata var newName hattında senaryoyu duruyor

// get a reference to the current (active) document and store it in a variable named "doc" 
 
doc = app.activeDocument; 
 

 

 
// these are our values for the END RESULT width and height (in pixels) of our image 
 
var fWidth = 940; 
 

 

 
// our web export optionsvar options = new ExportOptionsSaveForWeb(); 
 

 
function SaveJPEG(saveFile, quality) { 
 
    var exportOptionsSaveForWeb = new ExportOptionsSaveForWeb(); 
 
    exportOptionsSaveForWeb.format = SaveDocumentType.JPEG; 
 
    exportOptionsSaveForWeb.includeProfile = false; 
 
    exportOptionsSaveForWeb.interlaced = false; 
 
    exportOptionsSaveForWeb.optimized = true; 
 
    exportOptionsSaveForWeb.quality = 80; 
 

 

 
} 
 

 

 
var newName = 'F' + doc.name + '.jpg'; 
 

 
doc.exportDocument(File(doc.path + '/' + newName), ExportType.SAVEFORWEB, options); 
 

 
doc.activeHistoryState = doc.historyStates.index(0);

. Bunu Photoshop CS6 için eklemeliyim.

Her türlü yardım için teşekkür ederiz. Sorun şu ki Senaryonu kırıyor olduğunu ise

+0

kullanmaya çalışmalısınız. Documents.length! = 0' mı? ([Photoshop komut dosyası: app.activeDocument öğesinden tanımlanmadı] (http://stackoverflow.com/a/22507865/1115360) –

+0

Belge görüntüsü bir görüntü ile açıldığından önemli değil. ve bu satırda bir hata alamıyorum – user310777

+0

'doc = app.activeDocument; 'ayarında bir sorun yoktur,' undefined' bir değeri olabilir, o zaman doc almaya çalıştığınızda. name 'undefined' '.name' özelliği olmadığından başarısız olur.' documents.length' kontrol ettiniz mi? –

cevap

0

, sen app.activeDocument` tanımsız `anlaşılmaktadır try..catch deyimini

... 

var newName; 

try { 
    newName = 'F' + doc.name + '.jpg'; 
} catch (e) { 
    newName = 'F' + 'name-error' + '.jpg'; 
    console.log('doc.name is not accessible: ' + e.message;); 
} 

... 
İlgili konular