Skip to main content
Inspiring
May 9, 2026 10:41 AM UTC
Answered

How to Scale an Image Numerically Within a Frame While Keeping the Visible Area Centered in InDesign

I have images in frames, and the images are MUCH larger than the frames. 

I’d like to be able to zoom in/out of the image, numerically (e.g. via typing in a %), but have the part of the image centered in the frame remain in the center of the frame.

Is that possible?

thanks!

    Mike Witherell
    Mike WitherellCorrect answer
    Community Expert
    May 9, 2026 7:59 PM UTC

    If the frame is selected, you can scale based on the center of the frame using the center proxy dot.

    If the graphic within the frame is selected, you can scale based on the center of the image by using the center proxy dot.

    But if you want to scale the image in the frame based on a chosen, visual centering of the image, maybe you should reach for the rarely-used Scale tool, which gives you the ability to scale from any spot you choose, not just the 9 proxy dot positions. It employs that old-school subtlety of clicking to set the centerpoint of scale. You can also opt/alt click to set the position from which it scales. Think old-school Illustrator when you use it.

    Mike Witherell

    9 replies

    rob day
    Community Expert
    Community Expert
    May 9, 2026 9:10 PM UTC

    Hi ​@turner111 , Just to clarify, your large image is not centered in the container frame the way it is in ​@jmlevy ’s capture right? The Transform reference point is relative to the selection not its container

     

     

     

    I think you would need a script in order to scale without moving the image, like this?:

     

     

    Translate
    turner111Author
    Inspiring
    May 9, 2026 9:25 PM UTC

    Hi Rob - correct.

    Translate
    Mike Witherell
    Community Expert
    Mike WitherellCommunity ExpertCorrect answer
    Community Expert
    May 9, 2026 7:59 PM UTC

    If the frame is selected, you can scale based on the center of the frame using the center proxy dot.

    If the graphic within the frame is selected, you can scale based on the center of the image by using the center proxy dot.

    But if you want to scale the image in the frame based on a chosen, visual centering of the image, maybe you should reach for the rarely-used Scale tool, which gives you the ability to scale from any spot you choose, not just the 9 proxy dot positions. It employs that old-school subtlety of clicking to set the centerpoint of scale. You can also opt/alt click to set the position from which it scales. Think old-school Illustrator when you use it.

    Translate
    Mike Witherell
    turner111Author
    Inspiring
    May 9, 2026 9:30 PM UTC

    I think this will work! Well, I mean it’ll be the closest for now. I might try to figure out a script, if this type of point in relation to its frame can be centered.

    I’ll consider this the way. Thanks.

     

    Translate
    rob day
    Community Expert
    Community Expert
    May 10, 2026 11:55 AM UTC

    I might try to figure out a script

     

    If you haven’t tried to code this yet it’s tricky, maybe this?

     

    scaleSelectionCentered(.6)

    /**
    * Scales the selected link centered
    * @ param ammount to scale
    */

    function scaleSelectionCentered(sa){
    var sel = app.selection[0]
    if (sel == undefined || !sel.hasOwnProperty("itemLink") ) {
    alert("Select an Image")
    return
    }
    var sb = sel.geometricBounds //image bounds
    var pb = sel.parent.geometricBounds //container bounds
    var phc = [pb[1]+((pb[3]-pb[1])*.5)] //container x center point
    var pvc = [pb[0]+((pb[2]-pb[0])*.5)] //container y center point
    var shc = [sb[1]+((sb[3]-sb[1])*.5)] //selection x center point
    var svc = [sb[0]+((sb[2]-sb[0])*.5)] //selection y center point

    sel.transform(CoordinateSpaces.PARENT_COORDINATES, AnchorPoint.CENTER_ANCHOR, app.transformationMatrices.add({horizontalScaleFactor:sa, verticalScaleFactor:sa}));
    sel.move([0,0],[(phc-shc)*(1-sa),(pvc-svc)*(1-sa)])
    }

    Before and after

     

     

    Translate
    jmlevy
    Community Expert
    Community Expert
    May 9, 2026 3:31 PM UTC

    Yes: before starting scaling, select the proxy icon and click on the center dot.

     

    Translate
    turner111Author
    Inspiring
    May 9, 2026 6:38 PM UTC

    I tried that, but it doesn’t scale the content from the center.

    Translate
    jmlevy
    Community Expert
    Community Expert
    May 9, 2026 7:12 PM UTC

    Are you absolutely sure that the content is selected? Because it works:

     

    Translate