Модуль:Sandbox/isaacl/ColourSpace/Formats/W3Cnames
Перейти до навігації
Перейти до пошуку
Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]
Документація вище включена з Модуль:Sandbox/isaacl/ColourSpace/Formats/W3Cnames/документація. (ред. | історія) Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього шаблону. Будь ласка, додавайте категорії до підсторінки /isaacl/ColourSpace/Formats/W3Cnames/документація. Підсторінки цієї сторінки. |
local me = { }
local Tuple = require('Модуль:Sandbox/isaacl/ColourSpace/Tuple')
local sRGBFromW3CName = {
['aliceblue'] = {240,248,255},
['antiquewhite'] = {250,235,215},
['aqua'] = {0,255,255},
['aquamarine'] = {127,255,212},
['azure'] = {240,255,255},
['beige'] = {245,245,220},
['bisque'] = {255,228,196},
['black'] = {0,0,0},
['blanchedalmond'] = {255,235,205},
['blue'] = {0,0,255},
['blueviolet'] = {138,43,226},
['brown'] = {165,42,42},
['burlywood'] = {222,184,135},
['cadetblue'] = {95,158,160},
['chartreuse'] = {127,255,0},
['chocolate'] = {210,105,30},
['coral'] = {255,127,80},
['cornflowerblue'] = {100,149,237},
['cornsilk'] = {255,248,220},
['crimson'] = {220,20,60},
['cyan'] = {0,255,255},
['darkblue'] = {0,0,139},
['darkcyan'] = {0,139,139},
['darkgoldenrod'] = {184,134,11},
['darkgray'] = {169,169,169},
['darkgreen'] = {0,100,0},
['darkgrey'] = {169,169,169},
['darkkhaki'] = {189,183,107},
['darkmagenta'] = {139,0,139},
['darkolivegreen'] = {85,107,47},
['darkorange'] = {255,140,0},
['darkorchid'] = {153,50,204},
['darkred'] = {139,0,0},
['darksalmon'] = {233,150,122},
['darkseagreen'] = {143,188,143},
['darkslateblue'] = {72,61,139},
['darkslategray'] = {47,79,79},
['darkslategrey'] = {47,79,79},
['darkturquoise'] = {0,206,209},
['darkviolet'] = {148,0,211},
['deeppink'] = {255,20,147},
['deepskyblue'] = {0,191,255},
['dimgray'] = {105,105,105},
['dimgrey'] = {105,105,105},
['dodgerblue'] = {30,144,255},
['firebrick'] = {178,34,34},
['floralwhite'] = {255,250,240},
['forestgreen'] = {34,139,34},
['fuchsia'] = {255,0,255},
['gainsboro'] = {220,220,220},
['ghostwhite'] = {248,248,255},
['gold'] = {255,215,0},
['goldenrod'] = {218,165,32},
['gray'] = {128,128,128},
['green'] = {0,128,0},
['greenyellow'] = {173,255,47},
['grey'] = {128,128,128},
['honeydew'] = {240,255,240},
['hotpink'] = {255,105,180},
['indianred'] = {205,92,92},
['indigo'] = {75,0,130},
['ivory'] = {255,255,240},
['khaki'] = {240,230,140},
['lavender'] = {230,230,250},
['lavenderblush'] = {255,240,245},
['lawngreen'] = {124,252,0},
['lemonchiffon'] = {255,250,205},
['lightblue'] = {173,216,230},
['lightcoral'] = {240,128,128},
['lightcyan'] = {224,255,255},
['lightgoldenrodyellow'] = {250,250,210},
['lightgray'] = {211,211,211},
['lightgreen'] = {144,238,144},
['lightgrey'] = {211,211,211},
['lightpink'] = {255,182,193},
['lightsalmon'] = {255,160,122},
['lightseagreen'] = {32,178,170},
['lightskyblue'] = {135,206,250},
['lightslategray'] = {119,136,153},
['lightslategrey'] = {119,136,153},
['lightsteelblue'] = {176,196,222},
['lightyellow'] = {255,255,224},
['lime'] = {0,255,0},
['limegreen'] = {50,205,50},
['linen'] = {250,240,230},
['magenta'] = {255,0,255},
['maroon'] = {128,0,0},
['mediumaquamarine'] = {102,205,170},
['mediumblue'] = {0,0,205},
['mediumorchid'] = {186,85,211},
['mediumpurple'] = {147,112,219},
['mediumseagreen'] = {60,179,113},
['mediumslateblue'] = {123,104,238},
['mediumspringgreen'] = {0,250,154},
['mediumturquoise'] = {72,209,204},
['mediumvioletred'] = {199,21,133},
['midnightblue'] = {25,25,112},
['mintcream'] = {245,255,250},
['mistyrose'] = {255,228,225},
['moccasin'] = {255,228,181},
['navajowhite'] = {255,222,173},
['navy'] = {0,0,128},
['oldlace'] = {253,245,230},
['olive'] = {128,128,0},
['olivedrab'] = {107,142,35},
['orange'] = {255,165,0},
['orangered'] = {255,69,0},
['orchid'] = {218,112,214},
['palegoldenrod'] = {238,232,170},
['palegreen'] = {152,251,152},
['paleturquoise'] = {175,238,238},
['palevioletred'] = {219,112,147},
['papayawhip'] = {255,239,213},
['peachpuff'] = {255,218,185},
['peru'] = {205,133,63},
['pink'] = {255,192,203},
['plum'] = {221,160,221},
['powderblue'] = {176,224,230},
['purple'] = {128,0,128},
['rebeccapurple'] = {102,51,153},
['red'] = {255,0,0},
['rosybrown'] = {188,143,143},
['royalblue'] = {65,105,225},
['saddlebrown'] = {139,69,19},
['salmon'] = {250,128,114},
['sandybrown'] = {244,164,96},
['seagreen'] = {46,139,87},
['seashell'] = {255,245,238},
['sienna'] = {160,82,45},
['silver'] = {192,192,192},
['skyblue'] = {135,206,235},
['slateblue'] = {106,90,205},
['slategray'] = {112,128,144},
['slategrey'] = {112,128,144},
['snow'] = {255,250,250},
['springgreen'] = {0,255,127},
['steelblue'] = {70,130,180},
['tan'] = {210,180,140},
['teal'] = {0,128,128},
['thistle'] = {216,191,216},
['tomato'] = {255,99,71},
['turquoise'] = {64,224,208},
['violet'] = {238,130,238},
['wheat'] = {245,222,179},
['white'] = {255,255,255},
['whitesmoke'] = {245,245,245},
['yellow'] = {255,255,0},
['yellowgreen'] = {154,205,50},
} -- me.sRGBFromW3CName
local W3CNameFromSRGB = nil
local function buildW3CNameFromSRGBTable()
for name, colourValue in pairs(sRGBFromW3CName) do
local red = tostring(colourValue[1])
local green = tostring(colourValue[2])
local blue = tostring(colourValue[3])
if ( W3CNameFromSRGB[red] == nil ) then
W3CNameFromSRGB[red] = { }
end
if ( W3CNameFromSRGB[red][green] == nil ) then
W3CNameFromSRGB[red][green] = { }
end
if ( W3CNameFromSRGB[red][green][blue] == nil ) then
W3CNameFromSRGB[red][green][blue] = { }
end
W3CNameFromSRGB[red][green][blue] = name
end
end -- function buildW3CNameFromSRGBTable()
me.infoFor = {
W3Cnames = {
colourSpace = 'sRGB',
formatType = '24bit',
defaultConversion = 'sRGB24bit',
parseInput = function(args)
local colourName = args[1]
if ( sRGBFromW3CName[colourName] ~= nil ) then
local result = sRGBFromW3CName[colourName]
result[4] = colourName
return result
end
return nil
end,
isInputFormat = function(args)
return ( sRGBFromW3CName[args[1]] ~= nil )
end,
display = function(self, separator)
return self[4]
end,
mapParametersFrom = {
sRGB24bit = function(colourValue)
if (W3CNameFromSRGB == nil) then
W3CNameFromSRGB = { }
buildW3CNameFromSRGBTable()
end
local red = tostring(colourValue[1])
local green = tostring(colourValue[2])
local blue = tostring(colourValue[3])
if ( W3CNameFromSRGB[red] == nil
or W3CNameFromSRGB[red][green] == nil
or W3CNameFromSRGB[red][green][blue] == nil
) then
return nil
end
local mappedArgs = Tuple.clone(colourValue)
mappedArgs[4] = W3CNameFromSRGB[red][green][blue]
return mappedArgs
end,
}, -- end of mapping functions
}, -- info for W3Cnames
sRGB24bit = {
mapParametersFrom = {
W3Cnames = function( colourValue )
local mappedArgs = Tuple.clone(colourValue)
mappedArgs[4] = nil
return mappedArgs
end,
}, -- end of mapping functions
}, -- info for sRGB24bit
} -- data for formats
return me