嘗試增加這選項
opts.transparency = true
好清單,儘量ExportOptionsSave
function SavePNG(saveFile)
{
var pngFile = new File(filePath);
opts = new PNGSaveOptions();
opts.format = SaveDocumentType.PNG;
opts.transparency = true
opts.PNGB = false;
opts.quality = 100;
opts.includeProfile = true;
activeDocument.saveAs(pngFile, opts, false, Extension.LOWERCASE);
}
我通常沿着這些線使用一些東西:
// call the source document
var srcDoc = app.activeDocument;
var fileName = app.activeDocument.name;
var docName = fileName.substring(0,fileName.length -4)
// Set filePath and fileName to source path
filePath = srcDoc.path + '/' + app.activeDocument.name + '.png';
// duplicate image into new document
// =======================================================
var id2784 = charIDToTypeID("Mk ");
var desc707 = new ActionDescriptor();
var id2785 = charIDToTypeID("null");
var ref508 = new ActionReference();
var id2786 = charIDToTypeID("Dcmn");
ref508.putClass(id2786);
desc707.putReference(id2785, ref508);
var id2787 = charIDToTypeID("Nm ");
desc707.putString(id2787, docName);
var id2788 = charIDToTypeID("Usng");
var ref509 = new ActionReference();
var id2789 = charIDToTypeID("Lyr ");
var id2790 = charIDToTypeID("Ordn");
var id2791 = charIDToTypeID("Trgt");
ref509.putEnumerated(id2789, id2790, id2791);
desc707.putReference(id2788, ref509);
executeAction(id2784, desc707, DialogModes.NO);
// save out the image
var pngFile = new File(filePath);
pngSaveOptions = new PNGSaveOptions();
pngSaveOptions.embedColorProfile = true;
pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
pngSaveOptions.matte = MatteType.NONE; pngSaveOptions.quality = 1;
activeDocument.saveAs(pngFile, pngSaveOptions, false, Extension.LOWERCASE);
// close that saved png
app.activeDocument.close()
還是同樣的問題 – user2412679
當然的了第二種方式起作用,因爲我需要手動保存它,因爲保存對話框出現。但是,至少可以在此對話框中添加如何設置文件的名稱?它需要正確的名稱,但如果它是在這個目錄中的同名的東西,那麼名稱變成「... copy.png」 – user2083364
這不是優雅的,但我通過複製圖像並保存該圖像來解決該問題。 –