Page MenuHomePhabricator

Image scaling given only the height does not seem to work
Closed, ResolvedPublic

Description

Author: gabi.t.sandor

Description:
The API does not seem to allow any way to retrieve a thumb url for an image given only its height and no width specified.
For instance, accessing the following URL: http://en.wikipedia.org/w/api.php?action=query&format=xml&titles=File:Flag+of+Spain.svg&prop=imageinfo&iiprop=dimensions|url&iiurlheight=28

gives the following XML response:

<api>
<error code="iiiiurlwidth" info="iiurlheight cannot be used without iiurlwidth"/>
</api>

How, therefore, could one retrieve a thumb url for an image given the height to scale to, without specifying the width ? An example of such a situation would be when parsing the following snippet of wikitext:
[[Image:Flag of Spain.svg |x28px]] - here only the height is specified, thus an image of the flag of Spain should be retrieved having the height set to 28 pixels and the width scaled accordingly.


Version: 1.16.x
Severity: enhancement
URL: https://www.mediawiki.org/wiki/Requests_for_comment/Square_bounding_boxes
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=24763
https://bugzilla.wikimedia.org/show_bug.cgi?id=32387

Details

Reference
bz25989

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:11 PM
bzimport set Reference to bz25989.
bzimport added a subscriber: Unknown Object (MLST).

gabi.t.sandor wrote:

It seems that there's a workaround by providing the iiurlwidth param. with large values, surpassing the native width for the requested file - at least for some svg files, not sure if applicable also to other types of images.

Bryan.TongMinh wrote:

This was more complicated than I thought. Apparently the "x28px" case is undefined (but useful) behaviour: Parser::makeImage only sets the height parameter, which causes the linker to set the width parameter to the image source width, which will then cause MediaHandler::normaliseParameters to set the width to the width corresponding to height...

This needs to be handled in the file/media/parser code in a defined way before we can implement this in the API. If the described behaviour is useful (which I think it is), also a parser test should be written.

Possible duplicate: bug 24763.
Somehow related: bug 32387.

(In reply to Nemo from comment #3)

Possible duplicate: bug 24763.
Somehow related: bug 32387.

And Scott made an RfC which seems to be exactly about this bug: https://www.mediawiki.org/wiki/Requests_for_comment/Square_bounding_boxes. Isn't it?

Umm. The url in comment 0 seems to work.

Closing as fixed; I've verified that the URL in comment 0 now works (as bawolff mentions).