Has anyone ever approached Adobe about the possibility of having an option to turn off the user interface part of Photoshop?
I have done quite a bit of scripting development and having Photoshop running in the foreground (that is, on the desktop) is getting to be a bottleneck. It also seems to me that, since my application is running (via script API calls from C#) 200-step actions on 100's (sometimes 1000's) of files every day, the overhead of painting each step to the display is costing hours per day.
Talking directly to the image processing logic would be great, but doing so using the API would be ideal. Otherwise, I need to start writing code to translate actions to play back using something faster like imagemagick. Or have our designers switch to a different application. What a choice!?!
Photoshop as a window-less background process?
Photoshop as a window-less background process?
If you are using C# all you need is ...
Code: Select allapp.Visible = false;
Code: Select allapp.Visible = false;
Photoshop as a window-less background process?
@Paul MR,
Yes, app.Visible = false will hide the app, but does not prevent the initial splash screen and progress pop-ups like "Rasterizing..." from being displayed.
I am trying to run the executable that does this, but from a background process (that is--on Windows--in the console session)
Code: Select all
// establish Ps app instance:
Application app = new Application();
app.Visible = false;
app.DisplayDialogs = PsDialogModes.psDisplayNoDialogs;
app.Open( something );
// other stuff
// close Ps
app.Quit();
The splash screen causes the calling program to emit:
Exception: The type initializer for 'MyNamespace.MyClassThatCallsPhotoshop' threw an exception.
So, Has anyone know if it is
a) possible to run without a desktop,
b) impossible to block everything, or
c) something Adobe is aware of and has told you they won't address.
It seems I would need to specify to the constructor that I want the application in background mode.
Yes, app.Visible = false will hide the app, but does not prevent the initial splash screen and progress pop-ups like "Rasterizing..." from being displayed.
I am trying to run the executable that does this, but from a background process (that is--on Windows--in the console session)
Code: Select all
// establish Ps app instance:
Application app = new Application();
app.Visible = false;
app.DisplayDialogs = PsDialogModes.psDisplayNoDialogs;
app.Open( something );
// other stuff
// close Ps
app.Quit();
The splash screen causes the calling program to emit:
Exception: The type initializer for 'MyNamespace.MyClassThatCallsPhotoshop' threw an exception.
So, Has anyone know if it is
a) possible to run without a desktop,
b) impossible to block everything, or
c) something Adobe is aware of and has told you they won't address.
It seems I would need to specify to the constructor that I want the application in background mode.
Photoshop as a window-less background process?
I haven't tried running anything with Photoshop hidden.
Maybe there could be some ideas in StackSupport.jsx as there are some functions ...
function ViewlessDocument( desc, pathname )
ViewlessDocument.prototype.addToActiveDocument = function()
function openViewlessDocument( pathname )
ViewlessDocument.prototype.changeMode = function( mode )
ViewlessDocument.prototype.close = function( options )
Maybe there could be some ideas in StackSupport.jsx as there are some functions ...
function ViewlessDocument( desc, pathname )
ViewlessDocument.prototype.addToActiveDocument = function()
function openViewlessDocument( pathname )
ViewlessDocument.prototype.changeMode = function( mode )
ViewlessDocument.prototype.close = function( options )
Photoshop as a window-less background process?
Thanks, Paul MR, that is good, but ultimately, what I am trying to do is run a copy of Photoshop Extended on a server as part of an Action playback server.
This lets our designers record an action for a specific type of raw file, then attach it to a workflow for automatic playback on other raw files of the same type.
I've posted to the Photoshop CS6 forum on the same topic http://forums.adobe.com/thread/981425?tstart=0
The code snippet I used there is
Code: Select all{
// Manipulate a file COMPLETELY in the background...
//
// ...and it is acceptible if only one thread can be active on Application at once;
// client application will be responsible for preventing concurrent callers
//
Application app = new Application(false);
app,Open( someDocument );
app, doSomething;
app.ActiveDocument.Close(psSaveBehavior.psAlwaysSave);
}
TIA
This lets our designers record an action for a specific type of raw file, then attach it to a workflow for automatic playback on other raw files of the same type.
I've posted to the Photoshop CS6 forum on the same topic http://forums.adobe.com/thread/981425?tstart=0
The code snippet I used there is
Code: Select all{
// Manipulate a file COMPLETELY in the background...
//
// ...and it is acceptible if only one thread can be active on Application at once;
// client application will be responsible for preventing concurrent callers
//
Application app = new Application(false);
app,Open( someDocument );
app, doSomething;
app.ActiveDocument.Close(psSaveBehavior.psAlwaysSave);
}
TIA