photoshop javascript window 的一个例子
标签:default push rom selected ogr efault occurred rgb nbsp
photoshop javascript window 的一个例子
参考连接:Photoshop scripts · GitHub
// Open Recent Files - Adobe Photoshop Script
// Description: displays a Recent Files dialog; allows you to open multiple recent documents
// Requirements: Adobe Photoshop CS3, or higher
// Version: 0.2.0, 14/Feb/2014
// Author: Trevor Morris (trevor@morris-photographics.com)
// Website: http://morris-photographics.com/
// ============================================================================
// Installation:
// 1. Place script in:
// PC(32): C:\Program Files (x86)\Adobe\Adobe Photoshop CS#\Presets\Scripts\
// PC(64): C:\Program Files\Adobe\Adobe Photoshop CS# (64 Bit)\Presets\Scripts\
// Mac: /Applications/Adobe Photoshop CS#/Presets/Scripts/
// 2. Restart Photoshop
// 3. Choose File > Scripts > Open Recent Files
// ============================================================================
// enable double-clicking from Mac Finder or Windows Explorer
#target photoshop
// bring application forward for double-click events
app.bringToFront();
///////////////////////////////////////////////////////////////////////////////
// main - main function
///////////////////////////////////////////////////////////////////////////////
function main() {
// the maximum number of recent files to display
var maxFiles = 10;
// get only existing recent files
var recentItems = [];
var len = recentFiles.length;
for (var i = 0; i ) {
recentFile = recentFiles[i];
if (recentFile.exists) {
recentItems.push(recentFile);
if (recentItems.length == maxFiles) {
break;
}
}
}
// check for recent files
len = recentItems.length;
if (!len) {
alert(‘No recent files found.‘, ‘No Recent Files‘, false);
return;
}
// update maxFiles
maxFiles = Math.min(maxFiles, len);
// show Recent Files dialog
var rfDialog = recentFilesDialog(recentItems, maxFiles);
rfDialog.show();
}
///////////////////////////////////////////////////////////////////////////////
// recentFilesDialog - create the Recent Files dialog
///////////////////////////////////////////////////////////////////////////////
function recentFilesDialog(recentItems, maxFiles) {
// dialog window
var dlg = new Window(‘dialog‘);
dlg.text = ‘Open Recent Files‘;
dlg.orientation = ‘row‘;
dlg.alignChildren = ‘top‘;
// recent items panel
var panel = dlg.add(‘panel‘);
panel.text = ‘Recent Files‘;
panel.alignChildren = ‘left‘;
// recent items checkboxes
var cb, rf;
var checkboxes = [];
for (var i = 0; i ) {
rf = recentItems[i];
cb = panel.add(‘checkbox‘);
cb.text = ‘ ‘ + decodeURI(rf.name);
cb.helpTip = rf.fsName;
checkboxes.push(cb);
}
// buttons
var buttons = dlg.add(‘group‘);
buttons.orientation = ‘column‘;
buttons.alignChildren = ‘fill‘;
// ‘check all‘ button
var checkAll = buttons.add(‘button‘);
checkAll.text = ‘Check All‘;
checkAll.onClick = function() {
toggleCheckBoxes(true);
};
// ‘check none‘ button
var checkNone = buttons.add(‘button‘);
checkNone.text = ‘Check None‘;
checkNone.onClick = function() {
toggleCheckBoxes(false);
};
// spacer
var spacer = buttons.add(‘group‘);
spacer.preferredSize.height = 10;
// ok button
var okBtn = buttons.add(‘button‘);
okBtn.text = ‘OK‘;
okBtn.onClick = function() {
dlg.close(1);
openCheckedItems();
};
// cancel button
var cancelBtn = buttons.add(‘button‘);
cancelBtn.text = ‘Cancel‘;
cancelBtn.onClick = function() {
dlg.close(2);
};
// dialog properties
dlg.defaultElement = okBtn;
dlg.cancelElement = cancelBtn;
return dlg;
// toggle checkboxes on/off
function toggleCheckBoxes(enabled) {
for (var i = 0; i ) {
checkboxes[i].value = enabled;
}
}
// open checked files
function openCheckedItems() {
for (var i = 0; i ) {
if (checkboxes[i].value) {
openFile(recentItems[i]);
}
}
}
}
///////////////////////////////////////////////////////////////////////////////
// openFile - open the selected file
///////////////////////////////////////////////////////////////////////////////
function openFile(file) {
try {
open(file);
}
catch(e) {
alert(‘Unable to open file:\r‘ + file.fsName, ‘File Open Error‘, true);
}
}
///////////////////////////////////////////////////////////////////////////////
// isCorrectVersion - check for Adobe Photoshop CS3 (v10) or higher
///////////////////////////////////////////////////////////////////////////////
function isCorrectVersion() {
if (parseInt(version, 10) >= 10) {
return true;
}
else {
alert(‘This script requires Adobe Photoshop CS3 or higher.‘, ‘Wrong Version‘, false);
return false;
}
}
///////////////////////////////////////////////////////////////////////////////
// showError - display error message if something goes wrong
///////////////////////////////////////////////////////////////////////////////
function showError(err) {
if (confirm(‘An unknown error has occurred.\n‘ +
‘Would you like to see more information?‘, true, ‘Unknown Error‘)) {
alert(err + ‘: on line ‘ + err.line, ‘Script Error‘, true);
}
}
// test initial conditions prior to running main function
if (isCorrectVersion()) {
try {
main();
}
// don‘t report error on user cancel
catch(e) {
if (e.number != 8007) {
showError(e);
}
}
}
photoshop javascript window 的一个例子
标签:default push rom selected ogr efault occurred rgb nbsp
原文地址:https://www.cnblogs.com/ibingshan/p/14807986.html
评论