# Is posible to Set a: zoom Event?

**URL:** <https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268>\
**Category:** Photoshop\
**Created:** [September 23, 2022, 6:28pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268 "2022-09-23T18:28:53Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![HimagenesPrint](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HimagenesPrint](https://forums.creativeclouddeveloper.com/u/HimagenesPrint)\
**Post date:** [September 23, 2022, 6:28pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/1 "2022-09-23T18:28:53Z")

</div>

I would like to create an Event when press Zoom in or Zoom out

---

<div class="post-metadata">

**Author:** ![HimagenesPrint](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HimagenesPrint](https://forums.creativeclouddeveloper.com/u/HimagenesPrint)\
**Post date:** [September 26, 2022, 11:53am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/2 "2022-09-26T11:53:07Z")

</div>

I would like to program a zoom in or out to the image with values and I don’t know how to do it since that function is not captured. Thank you

---

<div class="post-metadata">

**Author:** ![Jarda](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/jarda/32/1909_2.png) [@Jarda](https://forums.creativeclouddeveloper.com/u/Jarda)\
**Post date:** [September 26, 2022, 2:35pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/3 "2022-09-26T14:35:53Z")

</div>

It is possible but I would have to look how to write it. You should use “set” action and set zoom property in document class.

---

<div class="post-metadata">

**Author:** ![HimagenesPrint](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HimagenesPrint](https://forums.creativeclouddeveloper.com/u/HimagenesPrint)\
**Post date:** [September 27, 2022, 2:52am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/4 "2022-09-27T02:52:58Z")

</div>

That’s exactly what I tried but it didn’t work for me. Someone wrote something similar on the forum and it didn’t work for him.

---

<div class="post-metadata">

**Author:** ![AnthonyK](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@AnthonyK](https://forums.creativeclouddeveloper.com/u/AnthonyK)\
**Post date:** [September 27, 2022, 3:32am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/5 "2022-09-27T03:32:16Z")

</div>

There are some View menu items in Photoshop with different zoom levels. If one of those “values” works for your intended purpose, it should be possible to convert it to batchPlay.

---

<div class="post-metadata">

**Author:** ![HimagenesPrint](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HimagenesPrint](https://forums.creativeclouddeveloper.com/u/HimagenesPrint)\
**Post date:** [September 28, 2022, 10:56am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/6 "2022-09-28T10:56:16Z")

</div>

I used alchemist and descriptor to see if an event was fired with the views and they do not have the zoom when zoomed, the event is not fired either

---

<div class="post-metadata">

**Author:** ![AnthonyK](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@AnthonyK](https://forums.creativeclouddeveloper.com/u/AnthonyK)\
**Post date:** [October 2, 2022, 12:42am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/7 "2022-10-02T00:42:48Z")

</div>

You can make a Ps action out of any Ps menu item using the Actions panel fly-out menu (Insert Menu Item…)

Then you can click on the action and use the fly-out menu again to “Copy as Javascript” to get the batchPlay code. Just paste it into any text editor to see it.

I think @Jarda also has a plugin (Occulist?) that does something similar for actions. The key is making Photoshop action first and then extracting the batchPlay code from it. You can capture some things in Ps actions that Alchemist doesn’t see.

---

<div class="post-metadata">

**Author:** ![Jarda](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/jarda/32/1909_2.png) [@Jarda](https://forums.creativeclouddeveloper.com/u/Jarda)\
**Post date:** [October 3, 2022, 1:55pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/8 "2022-10-03T13:55:36Z")

</div>

So I looked into my ExScript codes:

```javascript
function setPanZoom(x, y, z) {
	var panZoomDescriptor = new ActionDescriptor();
	panZoomDescriptor.putDouble(stringIDToTypeID("x"), x);
	panZoomDescriptor.putDouble(stringIDToTypeID("y"), y);
	panZoomDescriptor.putDouble(stringIDToTypeID("z"), z); //zoom
	panZoomDescriptor.putBoolean(stringIDToTypeID("resize"), false); //resize window
	panZoomDescriptor.putBoolean(stringIDToTypeID("animate"), settings.animateZoom); //animate zoom
	executeAction(stringIDToTypeID("setPanZoom"), panZoomDescriptor);
}

```

Which should translate something like:

```javascript
{
  _obj:"setPanZoom",
  x:0,
  y:0,
  z:2,
  resize: false,
  animate: true,
}

```

Don’t ask me what units are… I don’t remember 😃 I think there is one more way to set it.

---

<div class="post-metadata">

**Author:** ![HimagenesPrint](https://avatars.discourse-cdn.com/v4/letter/h/73ab20/32.png) [@HimagenesPrint](https://forums.creativeclouddeveloper.com/u/HimagenesPrint)\
**Post date:** [October 4, 2022, 11:46am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/9 "2022-10-04T11:46:20Z")

</div>

Thanks, I will try and see

---

<div class="post-metadata">

**Author:** ![JMP](https://avatars.discourse-cdn.com/v4/letter/j/9de0a6/32.png) [@JMP](https://forums.creativeclouddeveloper.com/u/JMP)\
**Post date:** [October 22, 2022, 9:54pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/10 "2022-10-22T21:54:53Z")

</div>

I was trying to find the same thing a few days ago, I just wanted to add two buttons Zoom 100% and Fit to Screen. I never got an answer where I was looking but I did finally figure it out using Actions + Add Menu Items and Alchemist. Below is my code that is working for the two buttons I wanted. Hope it helps or points you in the right direction.

//////////////\*\* ZOOM 100%

async function zoom100(){

const {app, core, action} = require(“photoshop”);  
const batchPlay = action.batchPlay;

await require(“photoshop”).core.executeAsModal(async (executionControl, descriptor) =\> {

await batchPlay(  
[  
{  
\_obj: “select”,  
\_target: [  
{  
\_ref: “menuItemClass”,  
\_enum: “menuItemType”,  
\_value: “actualPixels”  
}  
],  
\_options: {  
dialogOptions: “dontDisplay”  
}  
}], {  
modalBehavior: “wait”  
});  
});  
}

//////////////\*\* ZOOM FIT

async function zoomfit(){

```
  const {app, core, action} = require("photoshop");
  const batchPlay = action.batchPlay;
  
  await require("photoshop").core.executeAsModal(async (executionControl, descriptor) => {
  
  await batchPlay(
     [
        {
           _obj: "select",
           _target: [
              {
                 _ref: "menuItemClass",
                 _enum: "menuItemType",
                 _value: "fitOnScreen"
              }
           ],
           _options: {
              dialogOptions: "dontDisplay"
           }    
           }], {
       modalBehavior: "wait"
     });
  });

```

}

---

<div class="post-metadata">

**Author:** ![AnthonyK](https://avatars.discourse-cdn.com/v4/letter/a/85f322/32.png) [@AnthonyK](https://forums.creativeclouddeveloper.com/u/AnthonyK)\
**Post date:** [October 23, 2022, 3:49am UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/11 "2022-10-23T03:49:07Z")

</div>

Glad you figured it out. This is what I was trying to convey in an earlier post as well.

---

<div class="post-metadata">

**Author:** ![contactzero](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@contactzero](https://forums.creativeclouddeveloper.com/u/contactzero)\
**Post date:** [October 28, 2022, 12:45pm UTC](https://forums.creativeclouddeveloper.com/t/is-posible-to-set-a-zoom-event/5268/12 "2022-10-28T12:45:29Z")

</div>

> [@Jarda](#):
>
> ```auto
> z:2,
> 
> ```

So I was looking for exactly THIS today - Thanks!
