386
edits
(synced changes from sandbox - created an access point to lum available to other modules) |
m (2 revisions imported from wikipedia:Module:Color_contrast: see Topic:Vtixlm0q28eo6jtf) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) | local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) | ||
local function sRGB (v) | local function sRGB ( v ) | ||
if (v <= 0.03928) then | if (v <= 0.03928) then | ||
v = v / 12.92 | v = v / 12.92 | ||
Line 18: | Line 18: | ||
end | end | ||
local function rgbdec2lum(R, G, B) | local function rgbdec2lum( R, G, B ) | ||
if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then | if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then | ||
return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) | return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255) | ||
Line 26: | Line 26: | ||
end | end | ||
local function hsl2lum(h, s, l) | local function hsl2lum( h, s, l ) | ||
if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then | if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then | ||
local c = (1 - math.abs(2*l - 1))*s | local c = (1 - math.abs(2*l - 1))*s | ||
Line 58: | Line 58: | ||
end | end | ||
local function color2lum( c ) | |||
local function color2lum(c) | |||
if (c == nil) then | if (c == nil) then | ||
Line 217: | Line 211: | ||
end | end | ||
function p.lum(frame) | function p.lum(frame) | ||
return color2lum(frame.args[1] or frame:getParent().args[1]) | |||
end | end | ||