Description of the need

PROBLEM: Our current default image styles in core specify height and width, but don't crop to match these dimensions.

~~This became a issue with issue: https://github.com/backdrop/backdrop-issues/issues/4903. The PR for that issue contains pre-cropped images that display using the large image style. But, it was noted that if someone adds another image to a new node, that does not match the exact proportions of the existing images, it might not match the height of existing images.~~

Regardless of issue #4903 - it seems reasonable to me that two images with an image style of "Large (800x600)" would display at the same size. It seems like it would be strange and confusing to a new user that they do not.

The same logic applies to medium and thumbnail images. The description of the image style does not match the output.

Proposed solution

Change the default for image styles from "Crop" to "Scale and Crop" and crop them to the exact sizes listed.

image

I never thought of it before, but it is a bit weird that an image displayed using the image style "Large (800x600)" might or might not be 600px high.

Alternatives that have been considered

We could change the name/label of image styles to better reflect the actual output they produce. If we don't add the cropping to these images, it might be good to change their names to (or something else that is actually accurate):

  • Large (800wide)
  • Medium (300wide)
  • Thumb (100wide)

Or

  • Large (800wide or 600high)
  • Medium (300wide or 250high)
  • Thumb (100wide or 100high)

Additional information

I used the Sample Animal Content module to quickly add some nodes with images of different sizes. I then created a grid of all images using the "Medium (300x250)" image style:

image

This is what it looks like. Would it not be reasonable to expect that all these images would be the same size? Remember - all of these images are using an image filter that is labelled "Medium (300x250)

image

GitHub Issue #: 
5590