WordPress.org

Ready to get started?Download WordPress

Forums

Custom Image Sizes
ratio-resize image without omitting a dimension (1 post)

  1. drzraf
    Member
    Posted 3 years ago #

    While this plugin is great, and according the debate here :
    ticket #8599
    (http://core.trac.wordpress.org/ticket/8599)
    ticket #11895
    (http://core.trac.wordpress.org/ticket/11895)
    and especially ticket #15311
    (http://core.trac.wordpress.org/ticket/15311)

    It would be nice if wp_constrain_dimensions() may be used in order to resize the image according to one dimension (widget XOR height) thus preserving the ratio.

    According to the changelog for 1.0, it annouces it is supported (if height XOR width) is omitted.
    But in the code I can not see any } else { to the following condition :
    if ( ! empty( $height ) && ! empty( $width ) )
    which apply if both dimension are given.

    There are two way to resize respecting the ratio:
    1) you know both dimension, you check which one is the most overflowing, then you want to reduce this one and omit the second which will be resized accordingly.
    But a theme should not have to do this heuristic.

    Thus
    2) it should provide both constraining width AND height + a way to specify that no cropping should happen (without using add_image_size() as it is one of the goal of the plugin AFAIK)
    Thus a dimension string may be, eg :
    360x280|true
    Where true is whether or not cropping is enabled.

    As far as I studied the code, this string patter should not cause drawbacks. It is ignored until image_get_intermediate_size() is called in image_downsize(). Then image_get_intermediate_size() won't return anything so the initial image will be returned...
    except that if the plugin is activated, apply_filters('image_downsize', false, $id, $size) may return $out.

    So, in filter_image_downsize(), the following regexp :
    preg_match('#^(\d+)x(\d+)$#
    becomes

    preg_match('#^(\d+)x(\d+)(\|true|false)?$#
    $crop = (isset($matches[2])) ? $matches[2] : true;

    So ... maybe I missed the point (then please explain me :))
    otherwise it would be nice to have this simple way to crop|ratio-resizing option.

    Timthumb still does not provide such feature but discussion currently happen under the hood (http://code.google.com/p/timthumb/issues/detail?id=61)

    Anyway, I wish we can have the 3 WP tickets above fixed one of these days, with either having a simple and good plugin (this one seems very promising to me) either having such features into core.

    Have a good day.

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic