[wp-trac] [WordPress Trac] #34384: No way of preventing image_get_intermediate_size from returning cropped image

WordPress Trac noreply at wordpress.org
Mon Jul 18 02:13:46 UTC 2016


#34384: No way of preventing image_get_intermediate_size from returning cropped
image
---------------------------------------------+------------------------
 Reporter:  pputzer                          |       Owner:  joemcgill
     Type:  defect (bug)                     |      Status:  closed
 Priority:  normal                           |   Milestone:  4.6
Component:  Media                            |     Version:  3.0
 Severity:  normal                           |  Resolution:  fixed
 Keywords:  has-patch has-unit-tests commit  |     Focuses:
---------------------------------------------+------------------------
Changes (by joemcgill):

 * status:  accepted => closed
 * resolution:   => fixed


Comment:

 In [changeset:"38086"]:
 {{{
 #!CommitTicketReference repository="" revision="38086"
 Media: Prevent `image_get_intermediate_size()` from returning cropped
 images.

 When `$size` is passed to `image_get_intermediate_size()` as an array of
 width
 and height values and an exact image size matching those values isn't
 available,
 the function loops through the available attachment sizes and returns the
 smallest image larger than the requested dimensions with the same aspect
 ratio.

 The aspect ratio check is skipped for the 'thumbnail' size to provide a
 fallback
 for small sizes when no other image option is available. This resulted in
 a poor
 selection when the size requested was smaller than the 'thumbnail'
 dimensions
 but a larger size matching the requested ratio existed.

 This refactors the internals of `image_get_intermediate_size()` to ensure
 the
 'thumbnail' size is only returned as a fallback to small sizes once all
 other
 options have been considered, and makes the control flow easier to follow.

 This also introduces a new helper function, `wp_image_matches_ratio()` for
 testing whether the aspect ratios of two sets of dimensions match. This
 function
 is also now used in `wp_calculate_image_srcset()` during the selection
 process.

 Props flixos, joemcgill.
 Fixes #34384, #34980.
 }}}

--
Ticket URL: <https://core.trac.wordpress.org/ticket/34384#comment:17>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list