1
私は配列をループしてサイズを変更し、ファイル名を付加し、画像を保存しPhotoShopのために書かれたJavaScriptを持っています。スクリプトは動作しますが、画質がひどく低下していると私は、画像品質を維持するためのオプションを微調整する方法を見つけ出すように見えることはできません。私の元の画像はプロフェッショナルな写真@ 3871x2571ピクセルなので、品質の差は明らかです。PhotoshopのCC 2017スクリプトの書き出し画質
JS:OPに私のコメントを1として
doc = app.activeDocument;
doc.changeMode(ChangeMode.RGB);
var docName = doc.name;
var docTitle = docName.slice(0, -4);
var options = new ExportOptionsSaveForWeb();
options.quality = 100;
options.format = SaveDocumentType.JPEG;
options.optimized = true;
var sizes = new Array();
sizes[0] = 'sm';
sizes[1] = 'md';
sizes[2] = 'lg';
sizes[3] = 'xl';
//2x
for(var i = 0; i < 4; i++) {
var widthVal = '';
if(sizes[i] == 'sm') { widthVal = '480px'; }
if(sizes[i] == 'md') { widthVal = '960px'; }
if(sizes[i] == 'lg') { widthVal = '1440px'; }
if(sizes[i] == 'xl') { widthVal = '1920px'; }
var newName = docTitle+'_'+sizes[i]+'@2x.jpg';
doc.resizeImage(widthVal,null, null, ResampleMethod.BICUBIC,0);
doc.exportDocument(File(doc.path+'/'+newName), ExportType.SAVEFORWEB, options);
}
//1x
for(var i = 0; i < 4; i++) {
var widthVal = '';
if(sizes[i] == 'sm') { widthVal = '240px'; }
if(sizes[i] == 'md') { widthVal = '480px'; }
if(sizes[i] == 'lg') { widthVal = '720px'; }
if(sizes[i] == 'xl') { widthVal = '960px'; }
var newName = docTitle+'_'+sizes[i]+'.jpg';
doc.resizeImage(widthVal,null, null, ResampleMethod.BICUBIC,0);
doc.exportDocument(File(doc.path+'/'+newName), ExportType.SAVEFORWEB, options);
}
最初の反復、画像が480に縮小されてから、その後のパスがサイズを増やすためですが、最初の縮小に基づいていますか?そのような場合、解決策は、元の文書から開始することですが、私はそれをどのように行うのですか? – sinrise