选择在 Photoshop Scripts 中保存文件的位置
Choose where to save the file in Photoshop Scripts
我有这段photoshop脚本。
我已经有输入文件夹提示了。
如何让这个脚本提示我输入输出位置?要么
- 选择保存文件的位置和名称,或者
- 选择将脚本保存在与分析文件相同的位置?
#target photoshop
app.bringToFront()
main()
function main() {
var inputFolder = Folder.selectDialog("Please select folder to process ")
if (inputFolder == null) return
var fileList = inputFolder.getFiles(
/\.(jpg|dng|tif|psd|crw|cr2|psb|exr|nef|dcr|dc2|erf|raf|orf|tga|mrw|mos|srf|pic|pct|pxr|pdd|pef|png|x3f|rw2)$/i)
// var outFile = new File(Folder.desktop + "/" + decodeURI(inputFolder.name) + ".csv")
outFile.open('w')
outFile.writeln(
"Filename,Mean Bleu,Mean Marron, Mean Jaune, Mean Noir, Mean Rose, Mean Relief\r ")
for (var a in fileList) {
// open(fileList)
open(fileList[a])
// var area = activeDocument.histogram
// var luminosity = activeDocument.histogram
// CMYK Channel
/*-------------------------------------------------------------*/
activeDocument.channels["COBALT"].visible = true
var Bleu = activeDocument.channels["COBALT"].histogram
var mean_Bleu = 0
var total_Bleu = 0
for (var n_Bleu = 0; n_Bleu < Bleu.length; n_Bleu++) {
total_Bleu = total_Bleu + Bleu[n_Bleu]
}
for (var m_Bleu = 0; m_Bleu < Bleu.length; m_Bleu++) {
var Value_Bleu = Bleu[m_Bleu]
mean_Bleu = mean_Bleu + (m_Bleu * Value_Bleu / total_Bleu)
}
/*-------------------------------------------------------------*/
// omitted code for other channels
/*-------------------------------------------------------------*/
//(Bleu).toFixed(0))
outFile.writeln(decodeURI(activeDocument.name) + "," + (mean_Bleu) + ","
+ (mean_Marron) + "," + (mean_Jaune) + "," + (mean_Noir) + ","
+ (mean_Rose) + "," + (mean_Relief) + "\r")
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES)
}
outFile.close()
alert("Process complete\nCSV created...\n" + decodeURI(outFile))
}
您可以将文件放在同一个文件夹中。我正在假设您正在处理大量图像并将该日期放入一个文件中。
var inputFolder = Folder.selectDialog("Please select folder to process ")
var docName = "myHistogram"; // rename your file here
var outFile = new File(inputFolder + "//" + docName + ".csv")
alert(outFile);
我认为您不能为另一种文件类型打开另存为对话框。 Photoshop 不是为保存 CSV 文件而设计的;)
这是保存图像文件的功能。然后您可以提取路径并使用它来保存 CSV 文件。
save_file_dialog();
function save_file_dialog()
{
if (documents.length == 0)
{
alert("No documents to save");
return
}
try
{
var ad = new ActionDescriptor();
executeAction( charIDToTypeID( "save" ), ad, DialogModes.ALL );
}
catch(e)
{
alert("Could not save file");
}
};
我有这段photoshop脚本。
我已经有输入文件夹提示了。
如何让这个脚本提示我输入输出位置?要么
- 选择保存文件的位置和名称,或者
- 选择将脚本保存在与分析文件相同的位置?
#target photoshop
app.bringToFront()
main()
function main() {
var inputFolder = Folder.selectDialog("Please select folder to process ")
if (inputFolder == null) return
var fileList = inputFolder.getFiles(
/\.(jpg|dng|tif|psd|crw|cr2|psb|exr|nef|dcr|dc2|erf|raf|orf|tga|mrw|mos|srf|pic|pct|pxr|pdd|pef|png|x3f|rw2)$/i)
// var outFile = new File(Folder.desktop + "/" + decodeURI(inputFolder.name) + ".csv")
outFile.open('w')
outFile.writeln(
"Filename,Mean Bleu,Mean Marron, Mean Jaune, Mean Noir, Mean Rose, Mean Relief\r ")
for (var a in fileList) {
// open(fileList)
open(fileList[a])
// var area = activeDocument.histogram
// var luminosity = activeDocument.histogram
// CMYK Channel
/*-------------------------------------------------------------*/
activeDocument.channels["COBALT"].visible = true
var Bleu = activeDocument.channels["COBALT"].histogram
var mean_Bleu = 0
var total_Bleu = 0
for (var n_Bleu = 0; n_Bleu < Bleu.length; n_Bleu++) {
total_Bleu = total_Bleu + Bleu[n_Bleu]
}
for (var m_Bleu = 0; m_Bleu < Bleu.length; m_Bleu++) {
var Value_Bleu = Bleu[m_Bleu]
mean_Bleu = mean_Bleu + (m_Bleu * Value_Bleu / total_Bleu)
}
/*-------------------------------------------------------------*/
// omitted code for other channels
/*-------------------------------------------------------------*/
//(Bleu).toFixed(0))
outFile.writeln(decodeURI(activeDocument.name) + "," + (mean_Bleu) + ","
+ (mean_Marron) + "," + (mean_Jaune) + "," + (mean_Noir) + ","
+ (mean_Rose) + "," + (mean_Relief) + "\r")
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES)
}
outFile.close()
alert("Process complete\nCSV created...\n" + decodeURI(outFile))
}
您可以将文件放在同一个文件夹中。我正在假设您正在处理大量图像并将该日期放入一个文件中。
var inputFolder = Folder.selectDialog("Please select folder to process ")
var docName = "myHistogram"; // rename your file here
var outFile = new File(inputFolder + "//" + docName + ".csv")
alert(outFile);
我认为您不能为另一种文件类型打开另存为对话框。 Photoshop 不是为保存 CSV 文件而设计的;) 这是保存图像文件的功能。然后您可以提取路径并使用它来保存 CSV 文件。
save_file_dialog();
function save_file_dialog()
{
if (documents.length == 0)
{
alert("No documents to save");
return
}
try
{
var ad = new ActionDescriptor();
executeAction( charIDToTypeID( "save" ), ad, DialogModes.ALL );
}
catch(e)
{
alert("Could not save file");
}
};