I'm developing an extension in Photoshop and I need to zoom in on a layer when the user clicks on a button.
To do this manually in Photoshop, I have to hold the Alt+Option keys and click on the layer in the Photoshop layer panelI want to zoom in on. (Crédits: https://www.youtube.com/watch?v=v7XkxH3aleM)
So I used the Script Listener plugin (https://helpx.adobe.com/photoshop/kb/downloadable-plugins-and-content.html#ScriptingListenerplugin) and got this in my log file but I get an error when I place it in my ExtendScript :
function ZoomOnTheNotePS() {
try {
// =======================================================
var idhostFocusChanged = stringIDToTypeID( "hostFocusChanged" );
var desc70740 = new ActionDescriptor();
var idactive = stringIDToTypeID( "active" );
desc70740.putBoolean( idactive, true );
var iddontRecord = stringIDToTypeID( "dontRecord" );
desc70740.putBoolean( iddontRecord, true );
var idforceNotify = stringIDToTypeID( "forceNotify" );
desc70740.putBoolean( idforceNotify, true );
executeAction( idhostFocusChanged, desc70740, DialogModes.NO );
// =======================================================
var idslct = charIDToTypeID( "slct" );
var desc70741 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref11361 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
ref11361.putName( idLyr, "note_19_drawing_1" );
desc70741.putReference( idnull, ref11361 );
var idMkVs = charIDToTypeID( "MkVs" );
desc70741.putBoolean( idMkVs, false );
var idfullySelected = stringIDToTypeID( "fullySelected" );
desc70741.putBoolean( idfullySelected, true );
var idLyrI = charIDToTypeID( "LyrI" );
var list12349 = new ActionList();
list12349.putInteger( 5574 );
desc70741.putList( idLyrI, list12349 );
executeAction( idslct, desc70741, DialogModes.NO );
// =======================================================
var idhostFocusChanged = stringIDToTypeID( "hostFocusChanged" );
var desc70742 = new ActionDescriptor();
var idactive = stringIDToTypeID( "active" );
desc70742.putBoolean( idactive, false );
var iddontRecord = stringIDToTypeID( "dontRecord" );
desc70742.putBoolean( iddontRecord, true );
var idforceNotify = stringIDToTypeID( "forceNotify" );
desc70742.putBoolean( idforceNotify, true );
executeAction( idhostFocusChanged, desc70742, DialogModes.NO );
} catch(error) {
alert(error);
return;
}
}
error :
Do you have any idea why it doesn't work ? Or do you simply have another solution ? Thanks in advance !
You can use app.runMenuItem(menuID) for that:
I found more menu IDs here: http://web.archive.org/web/20140121053819/http://www.pcpix.com/Photoshop/char.htm