Content deleted Content added
No edit summary |
luminance added |
||
Line 4:
local greenvalue = 0
local bluevalue = 0
local textforegroundcolor = 0
local function nm2RGB(wavelength)
Line 45 ⟶ 46:
greenvalue = greenvalue * intensityfactor
bluevalue = bluevalue * intensityfactor
end
local function luminance(r,g,b)
return 0.3*r+0.59*g+0.11*b
end
Line 57 ⟶ 62:
local wavelength = tonumber(frame.args[1])
nm2RGB(wavelength)
local result='#' .. string.format("%.2X%.2X%.2X", 255*(1-
return result
end
function p.emission_label(frame)
local wavelength = tonumber(frame.args[1])
nm2RGB(wavelength)
if luminance(redvalue, greenvalue, bluevalue)>0.5 then
local result="#000000|#" .. string.format("%.2X%.2X%.2X", 255*redvalue, 255*greenvalue, 255*bluevalue)
else
local result="#FFFFFF|#" .. string.format("%.2X%.2X%.2X", 255*redvalue, 255*greenvalue, 255*bluevalue)
end
return result
end
function p.absorption_label(frame)
local wavelength = tonumber(frame.args[1])
nm2RGB(wavelength)
if luminance(1-redvalue, 1-greenvalue, 1-bluevalue)>0.5 then
local result="#000000|#" .. string.format("%.2X%.2X%.2X", 255*(1-redvalue), 255*(1-greenvalue), 255*(1-bluevalue))
else
local result="#FFFFFF|#" .. string.format("%.2X%.2X%.2X", 255*(1-redvalue), 255*(1-greenvalue), 255*(1-bluevalue))
end
return result
end
|