𨀈𬧐內容

模庉:Imagesize

Uy-ki có thể chỉnh sửa bằng chữ Hán Nôm 威其固体整𢯢憑𡨸漢喃
番版𠓨𣅶14:42、𣈜23𣎃3𢆥2025𧵑Keepout2010 (討論 | 㨂𢵰) (㐌入1番版)
() ←番版𫇰 | 番版㵋一 (恪) | 番版㵋→ (恪)

固体𢪏材料𧗱模庉尼在模庉:Imagesize/材料

--[[
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