love.math.colorToBytes (Українська)

Доступне починаючи з LÖVE 11.3
Ця функція недоступна в попередніх версіях.

Перетвоює колір з діапазону 0..1 в діапазон 0..255.

Функція

Вигляд

rb, gb, bb, ab = love.math.colorToBytes( r, g, b, a )

Аргументи

number r
Червоний компонент кольору.
number g
Зелений компонент кольору.
number b
Синій компонент кольору.
number a (nil)
Альфа-компонент кольору.

Повертає

number rb
Червоний компонент кольору в діапазоні 0..255.
number gb
Зелений компонент кольору в діапазоні 0..255.
number bb
Синій компонент кольору в діапазоні 0..255.
number ab (nil)
Альфа-компонент кольору в діапазоні 0..255, або nil, якщо альфа-компонент не передано.

Примітки

Ось реалізація для версії 11.2 та попередніх.

function love.math.colorToBytes(r, g, b, a)
	if type(r) == "table" then
		r, g, b, a = r[1], r[2], r[3], r[4]
	end
	r = floor(clamp01(r) * 255 + 0.5)
	g = floor(clamp01(g) * 255 + 0.5)
	b = floor(clamp01(b) * 255 + 0.5)
	a = a ~= nil and floor(clamp01(a) * 255 + 0.5) or nil
	return r, g, b, a
end

Де функція clamp01 визначена наступним чином:

local function clamp01(x)
	return math.min(math.max(x, 0), 1)
end

Див. також


Іншими мовами