Edit in GitHubLog an issue

photoshopCore

The module that allows access to specialized commands within the application. Various application state can be modified or queried here.

Copied to your clipboard
var PhotoshopCore = require('photoshop').core;

Properties

名称类型最低版本描述
apiVersionnumber22.5API Version declared by the plugin's manifest.json under `host.data.apiVersion` field.

Functions

addNotificationListener

23.3

async : Promise<void>

Attach a listener to a Photoshop core event. A callback in the form of (eventName: string, descriptor: Descriptor) => void will be performed. The event(s) below are supported:

group: 'UI', event: 'userIdle'

  • Invoked after the Photoshop user idles for a specified number of seconds. See setUserIdleTime.
  • Invoked a second time with the descriptor {idleEnd: true} if the user is no longer idle. This signal can be used to finish up tasks being performed during the idle time.
Copied to your clipboard
await PhotoshopCore.addNotificationListener('UI', ['userIdle'], onUserIdle)

Parameters

名称类型
groupstring
eventsstring[]
notifierNotificationListener

calculateDialogSize

22.5

async : Promise<{ height: number ; width: number }>

Returns the effective size of a dialog.

Copied to your clipboard
1var idealSize = { width: 200, height: 500 }
2{ width, height} = await PhotoshopCore.calculateDialogSize(idealSize)

Parameters

名称类型
preferredSizeobject
preferredSize.heightnumber
preferredSize.widthnumber
identifier?string
minimumSize?object
minimumSize.heightnumber
minimumSize.widthnumber

convertColor

23.0

ColorDescriptor

Converts the given color (in descriptor form) to the given color space, returning the color descriptor.

This is an internal API that is used for SolidColor and all the other color classes.

Currently, this API uses the application color settings for conversion (Edit > Color Settings...). ' In the future, we will provide color conversion based on embedded color profiles.

Parameters

名称类型
sourceColorColorDescriptor
targetModelColorConversionModel

endModalToolState

22.5

async : Promise<void>

End the current modal tool editing state.

Copied to your clipboard
1// close the modal dialog, cancelling changes
2await PhotoshopCore.endModalToolState(false)

Parameters

名称类型
commitboolean

executeAsModal

22.5

async : Promise<void>

ExecuteAsModal is needed when a plugin wants to make modifications to the Photoshop state. This includes scenarios where the plugin wants to create or modify documents, or the plugin wants to update UI or preference state.

ExecuteAsModal is only available to plugin that is using apiVersion 2 or higher.

See Modal Execution for details

Parameters

名称类型
targetFunction(executionContext: ExecutionContext) => Promise<any>
optionsExecuteAsModalOptions

getActiveTool

22.5

async : Promise<{ classID: string ; isModal: boolean ; key: string ; title: string }>

Returns information about the active Photoshop tool.

Copied to your clipboard
{ title } = await PhotoshopCore.getActiveTool()

getCPUInfo

23.1

CPUInfo

Returns information about the host CPU.

Copied to your clipboard
1{ logicalCores, frequencyMhz, vendor } = PhotoshopCore.getCPUInfo()
2var isAMD = vendor === "AMD"
3var isARM = vendor === "ARM"

getGPUInfo

23.1

GPUInfo

Returns OpenGL and OpenCL information about the available graphics processor.

Copied to your clipboard
1{ gpuInfoList, clgpuInfoList } = PhotoshopCore.getGPUInfo()
2console.log(JSON.stringify(gpuInfoList))
3// > [{"version":"2.1 ATI-4.5.14","memoryMB":8192,"name":"16915464", ...}]
4console.log(JSON.stringify(clgpuInfoList))
5// > [{"version":"OpenCL 1.2 ","memoryMB":8589,"name":"AMD Radeon Pro 580X Compute Engine", ...}]

getMenuCommandState

22.5

async : Promise<boolean>

Returns whether a command menu item is available for invoking.

Copied to your clipboard
1// can a Fill be performed?
2var canFill = await PhotoshopCore.getMenuCommandState({ commandID: 1042 })

Parameters

名称类型
optionsobject
options.commandIDnumber
options.scheduling?Scheduling

getMenuCommandTitle

22.5

async : Promise<string>

Returns the localized menu title of the menu command item.

Copied to your clipboard
var renameLayerStr = await PhotoshopCore.getMenuCommandTitle({ commandID: 2983 })

Parameters

名称类型
optionsobject
options.commandID?number
options.menuID?number
options.scheduling?Scheduling

getPluginInfo

23.2

async : Promise<ActionDescriptor>

Return information about the execution of the plugin. This method is intended for developing plugins. Shipping code should not use this method.

The returned information include the following properties:

numberOfPendingMainThreadTasks: Number of pending promises.

batchPlayCount: Number of batchPlay calls since the plugin was loaded.

mainThreadTimeOutCount: Number of JavaScript calls that have timed out. This is typically caused by executing commands while Photoshop is modal without using executeAsModal.

v8HeapSize: V8 heap allocated for the plugin. This number is only accurate when loading plugins through the UXP Developer Tool.

Copied to your clipboard
await PhotoshopCore.getPluginInfo()

isModal

23.1

boolean

Returns true if the plugin is currently in a modal state using executeAsModal


performMenuCommand

22.5

async : Promise<boolean>

Invokes the menu command via its commandID. Returns false on failure, or if the command is not available.

Copied to your clipboard
1// select all
2await PhotoshopCore.performMenuCommand({ commandID: 1017 })

Parameters

名称类型
optionsobject
options.commandIDnumber
options.scheduling?Scheduling

redrawDocument

24.1

async : Promise<number>

Request that Photoshop redraws (updates) a document immediately. This method can be used to ensure that the document is updated immediately while a user is interacting with a UI element (such as a slider). This can provide a more responsive interaction. Updating a document can be time consuming, and will often happen at a lower frequency than UI events are received. Plugins may therefore want to implement a throttle between UI events and calls to redrawDocument. A throttle could be implemented by using a timer, or by avoiding to call redrawDocument for a small amount of time after a previous request completes. redrawDocument returns the time that it took Photoshop to update the target document in seconds. This number can be used to refine the throttle. redrawDocument is only available to a plugin that is using apiVersion 2 or higher.

Copied to your clipboard
await PhotoshopCore.redrawDocument({ documentID: 123})

Parameters

名称类型
optionsobject
options.documentIDnumber

setExecutionMode

23.2

async : Promise<void>

The execution mode can be used while debugging a plugin. It is only available when the developer mode is enabled.

The following example illustrate how to enable stacktraces for batchPlay commands that fail. When stacktraces are enabled, then an error result descriptor from a batchPlay request will include a stacktrace property. The property can be used when reporting bugs to Adobe.

Copied to your clipboard
await PhotoshopCore.setExecutionMode({ enableErrorStacktraces: true })

The following illustrates how to enable console warnings when a promise is rejected:

Copied to your clipboard
await PhotoshopCore.setExecutionMode({ logRejections: true })

Parameters

名称类型
optionsobject
options.enableErrorStacktraces?boolean
options.logRejections?boolean

setUserIdleTime

23.3

Promise<void>

Specifies the number of seconds a user must be idle on Photoshop before invoking the userIdle event handler defined with addNotificationListener. An idleTime of 0 turns off idle notifications.

Copied to your clipboard
await PhotoshopCore.setUserIdleTime(3)

Parameters

名称类型
idleTimenumber

showAlert

22.5

async : Promise<void>

Show a generic alert box to the user. 'OK' to dismiss.

Copied to your clipboard
1// script has completed.
2await PhotoshopCore.showAlert({ message: 'Operation successful'})

Parameters

名称类型
optionsobject
options.messagestring

translateUIString

22.5

string

Given a Photoshop ZString (of format "$$$/slash/separated/key=english default value"), will return the translated string for the current UI language

Parameters

名称类型
zstringstring
Was this helpful?
  • Privacy
  • Terms of Use
  • Do not sell or share my personal information
  • AdChoices
Copyright © 2023 Adobe. All rights reserved.