Skip to main content

Focus points

A focus point is an image’s ideal vertical and horizontal center after cropping. You can specify focus points using the following techniques:

If you know that an image’s subject is always centered in the middle (as in time-lapse photography), you can return that coordinate in a Focus object. This technique ensures Brightspot generates crops around the image’s native center.

showLineNumbers {6,12,16}
1
import com.psddev.cms.image.Focus;
2
import com.psddev.cms.image.FocusCalculator;
3
import com.psddev.dari.util.ObjectUtils;
4
import com.psddev.dari.util.StorageItem;
5
6
public class CenterFocusCalculator implements FocusCalculator {
7
8
@Override
9
public Focus getFocus(StorageItem storageItem) {
10
Map<String, Object> metaData = storageItem.getMetadata();
11
12
double imageWidth = ObjectUtils.to(double.class, metaData.get("width"));
13
double imageHeight = ObjectUtils.to(double.class, metaData.get("height"));
14
Focus centerFocus = new Focus(imageWidth / 2, imageHeight / 2);
15
16
System.out.println("Focus, x-coordinate " + centerFocus.getX());
17
System.out.println("Focus, y-coordinate " + centerFocus.getY());
18
return centerFocus;
19
}
20
21
}
  • 6. Declares this view model implements the FocusCalculator interface.
  • 12. Retrieves the image’s width and height from the metadata, divides each in half, and returns both values in a Focus object.
  • 16. Prints the focus point to the console.
showLineNumbers
1
Focus, x-coordinate 200.0
2
Focus, y-coordinate 131.0