Skip to main content
Typothalamus
Known Participant
July 3, 2024
Question

Proper steps for image placement, sizing cropping

  • July 3, 2024
  • 2 replies
  • 515 views

It's time to be upfront and relearn. I work with thousands of architectural images and have not exercised an efficient way of sizing and placing them, instead defaulting to very manual, and slow, steps. Original images are vintage, printed in different aspect ratios, often with borders to crop out. What would be an expert way to place and resize images instead of spending infinite time finely resizing and cropping?

My labor-intensive approach is:
1. ctrl+D, often resulting in a massive image running of the board,
2. guessing a flat precentange to reduce it that still leaves it on the board,

3. cropping out the border,

4. then using the transform tool to get it close to a desired size,

5. then working with further cropping and resizing to see what is aesthetically pleasing and matches, critically and precisely, all the alignments in the grid I designed.

Preferring to be moving and doing, and hands on, wearing many hats and not acting as a dedicated ID layout artist, I neglected acquiring proper techniques. But on such massive projects, it's excruciating. Guessing there may be a dozen or so basic frame sizes on a current project, if I stopped to define them. Appreciative of help.



This topic has been closed for replies.

2 replies

rob day
Community Expert
Community Expert
July 3, 2024

My labor-intensive approach is:

 

Hi @Typothalamus , You could also streamline the place via scripting. I use this to place an image on the active page at a defined width:

 

var f = File.openDialog("Place file", "");
var w;
makeDialog();
function makeDialog(){
    var theDialog = app.dialogs.add({name:"Place Width", canCancel:true});
    with(theDialog.dialogColumns.add()){
        staticTexts.add({staticLabel:"Image Width:"});
    }
    with(theDialog.dialogColumns.add()){
        w = measurementEditboxes.add({editUnits:MeasurementUnits.INCHES, editValue:288, minWidth:90});
    }
    if(theDialog.show() == true){
        placeSize(w.editValue)
        theDialog.destroy();
	}
}


/**
* Transforms the placed image to the provided width in inches 
* @ param pw the placed width 
* @ return the image parent frame 
*/
function placeSize(pw){
    app.scriptPreferences.measurementUnit = MeasurementUnits.POINTS;
    if (f!=null) {
        var img = app.activeWindow.activePage.place(File(f))[0];
        var aw = img.geometricBounds[3]-img.geometricBounds[1];
        img.transform(CoordinateSpaces.innerCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, app.transformationMatrices.add({horizontalScaleFactor:pw/aw, verticalScaleFactor:pw/aw}));
        img.parent.fit(FitOptions.FRAME_TO_CONTENT);
        app.scriptPreferences.measurementUnit = AutoEnum.AUTO_VALUE;
        return img.parent
    } 
}

 

The dialog after choosing the file to place—any unit can be used:

 

 

 

The result:

 

 

Barb Binder
Community Expert
Community Expert
July 3, 2024

When you load an image (Ctrl+D) you can:

  1. Click (the image comes in at the original size which sounds huge—and you have to resize/crop),
  2. Press and drag to control the size as you place it (will still have to crop), or
  3. Add it into an existing frame with frame fitting presets assigned

 

An existing frame can have presets assigned in advance (either manually or via a object style) including the newish Content-Aware Fit (which uses AI to try to determine the best ashtetic). C-A Fit doesn't always get it right so you may still have to make adjustments, but it could cut down time you spend per image. 

 

It sounds like you are using the first option—try out two and three to see if either works for you. If not, please share a few examples and we can see what else to offer.

 

~Barb

 

~Barb at Rocky Mountain Training