Module:Sandbox/Imagesize
This module is adapted from the 'getdimensions' function in Module:Multiple image for use as a stand-alone.
It has four public functions: getWidth, getHeight, getDimensions, getScale. They take a filename, with or without the "File:" prefix, and return the width, the height, both dimensions (WIDTHxHEIGHT), or the ratio of width to height (multiplied by a scale factor) respectively. It works with files on Commons or local ones, and works with animated gifs using the dimensions of the first image.
The getScale function takes an additional parameter, |scale= (default is 1). This can be used to directly scale images to the same height using the |upright= parameter in image syntax.
Examples
{{#invoke:Sandbox/Imagesize|getDimensions|Example.jpg}}→ 300x300{{#invoke:Sandbox/Imagesize|getWidth|Example.jpg}}→ 300{{#invoke:Sandbox/Imagesize|getHeight|Example.jpg}}→ 300{{#invoke:Sandbox/Imagesize|getScale|Example.jpg|scale=1}}→ 1{{#invoke:Sandbox/Imagesize|getDimensions|File:Bishzilla Lucia Looking Right.gif}}→ 100x103{{#invoke:Sandbox/Imagesize|getDimensions|File:Doorway from Moutiers-Saint-Jean MET DP255158.jpg}}→ 3042x3887{{#invoke:Sandbox/Imagesize|getScale|File:Doorway from Moutiers-Saint-Jean MET DP255158.jpg|scale=1}}→ 0.78260869565217
| Same height, scale=1 | |
|---|---|
| Same height, scale=0.5 | |
--[[
Imagesize
taks a single unnamed parameter, the filename
returns its dimensions as a string "WIDTHxHEIGHT"
Adaped from the original function in Module:Multiple image
--]]
local p = {}
local function _getdimensions(filename)
if filename:sub(1,5) ~= "File:" then filename = "File:" .. filename end
local titleobj = mw.title.new(mw.uri.decode(mw.ustring.gsub(filename,'%|.*$',''), 'WIKI'))
local fileobj = titleobj and titleobj.file or {width = 0, height = 0}
local w = tonumber(fileobj.width) or 0
local h = tonumber(fileobj.height) or 0
return w, h
end
function p.getDimensions(frame)
local filename = mw.text.trim(frame.args[1] or "")
if filename == "" then return end
local w, h = _getdimensions(filename)
return w .. "x" .. h
end
function p.getHeight(frame)
local filename = mw.text.trim(frame.args[1] or "")
if filename == "" then return end
local w, h = _getdimensions(filename)
return h
end
function p.getWidth(frame)
local filename = mw.text.trim(frame.args[1] or "")
if filename == "" then return end
local w, h = _getdimensions(filename)
return w
end
function p.getScale(frame)
local filename = mw.text.trim(frame.args[1] or "")
if filename == "" then return end
local scale = tonumber(frame.args.scale) or 1
local w, h = _getdimensions(filename)
if (w == 0) or (h == 0) then return end
return scale * w / h
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.


