love.math.gammaToLinear (Français)
Disponible depuis LÖVE 0.9.1 |
Ce-tte function n'est pas supporté-e par des versions plus anciennes. |
Convertit une couleur de l'espace gamma (sRGB) vers l'espace linéaire (RGB). Ceci est utile lors de l'utilisation de rendu avec correction gamma où vous devez alors effectuer des calculs en RGB linéaire dans les quelques cas où LÖVE ne gère pas automatiquement la conversion.
Vous pouvez en apprendre d'avantage sur le rendu avec correction gamma (en anglais) ici, ici, et ici.
Dans les versions antérieures à 11.0, les valeurs des composantes de couleur étaient situées dans la plage allant de 0 à 255 au lieu de 0 à 1.
Contents
Fonction
Synopsis
lr, lg, lb = love.math.gammaToLinear( r, g, b )
Arguments
number (Français) r
- Le canal rouge de la couleur sRGB à convertir.
number (Français) g
- Le canal vert de la couleur sRGB à convertir.
number (Français) b
- Le canal bleu de la couleur sRGB à convertir.
Retourne
number (Français) lr
- Le canal rouge de la couleur convertie dans l'espace linéaire RGB.
number (Français) lg
- Le canal vert de la couleur convertie dans l'espace linéaire RGB.
number (Français) lb
- Le canal bleu de la couleur convertie dans l'espace linéaire RGB.
Notes
Une valeur alpha (utilisée pour la transparence) peut être passée à la fonction comme quatrième argument, mais elle sera retournée inchangée parce que l'alpha est toujours linéaire.
Fonction
Synopsis
lr, lg, lb = love.math.gammaToLinear( color )
Arguments
table (Français) color
- Un tableau comportant les canaux rouge, vert et bleu de la couleur sRGB à convertir.
Retourne
number (Français) lr
- le canal rouge de la couleur convertie dans l'espace linéaire RGB.
number (Français) lg
- le canal vert de la couleur convertie dans l'espace linéaire RGB.
number (Français) lb
- le canal bleu de la couleur convertie dans l'espace linéaire RGB.
Fonction
Synopsis
lc = love.math.gammaToLinear( c )
Arguments
number (Français) c
- La valeur d'un canal de couleur dans l'zspace sRGB à convertir.
Retourne
number (Français) lc
- La valeur du canal de couleur dans l'espace linéaire RGB.
Exemples
Pré-multiplie l'alpha d'une image avec ses couleurs RGB dans l'espace linéaire RGB
local function PremultiplyLinearPixel(x, y, r, g, b, a)
r = r * a
g = g * a
b = b * a
return r, g, b, a
end
local function PremultiplyGammaPixel(x, y, r, g, b, a)
r, g, b = love.math.gammaToLinear(r, g, b)
r = r * a
g = g * a
b = b * a
r, g, b = love.math.linearToGamma(r, g, b)
return r, g, b, a
end
-- Charge une image et pré-multiplie ses valeurs RGB avec son alpha, afin de l'utiliser avec le mode de mixage ('alpha', 'premultiplied').
-- La multiplication prise en compte correctement pour l'espace de couleur de l'image.
function NewPremultipliedImage(filepath, flags)
local imagedata = love.image.newImageData(filepath)
local mapfunction = (flags and flags.linear) and PremultiplyLinearPixel or PremultiplyGammaPixel
imagedata:mapPixel(mapfunction)
return love.graphics.newImage(imagedata, flags)
end
image = NewPremultipliedImage("pig.png")
Voir également
Autres langues
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info