Module:Sprite: Difference between revisions
Auburnsummer (talk | contribs) No edit summary |
Auburnsummer (talk | contribs) No edit summary |
||
| (29 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
local noOfRows = tonumber(frame.args['noOfRows']) | local noOfRows = tonumber(frame.args['noOfRows']) | ||
local noOfColumns = tonumber(frame.args['noOfColumns']) | local noOfColumns = tonumber(frame.args['noOfColumns']) | ||
local cellWidth = sheetWidth / | local offsetX = tonumber(frame.args['offsetX']) * -1 | ||
local cellHeight = sheetHeight / | local offsetY = tonumber(frame.args['offsetY']) * -1 | ||
local row = tonumber(frame.args['row']) - 1 | |||
local | local col = tonumber(frame.args['col']) - 1 | ||
local image = frame.args['image'] | |||
: | local cellWidth = sheetWidth / noOfColumns | ||
position | local cellHeight = sheetHeight / noOfRows | ||
local outline = frame:getArgument('outline') | |||
width | local imageClass | ||
if outline ~= nil then | |||
imageClass = "pixelart blackstroke" | |||
[ | else | ||
imageClass = "pixelart" | |||
return tostring( | end | ||
local span = mw.html.create('span') | |||
:cssText( | |||
string.format( | |||
[[ | |||
position: relative; | |||
height: %dpx; | |||
width: %dpx; | |||
overflow: hidden; | |||
display: inline-block; | |||
vertical-align: middle; | |||
]], | |||
cellHeight * ratio, | |||
cellWidth * ratio | |||
) | |||
) | |||
:tag('span') | |||
:cssText( | |||
string.format( | |||
[[ | |||
position: absolute; | |||
height: %dpx; | |||
width: %dpx; | |||
top: %dpx; | |||
left: %dpx; | |||
]], | |||
sheetHeight * ratio, | |||
sheetWidth * ratio, | |||
(offsetY - cellHeight * row) * ratio, | |||
(offsetX - cellWidth * col) * ratio | |||
) | |||
) | |||
:wikitext(string.format('[[%s|%dpx|class=pixelart]]', image, sheetWidth * ratio)) | |||
:done() | |||
return tostring(span) | |||
end | end | ||
return p | return p | ||