ImageData:getPixel (Українська)

Отримує колір пікселя в певному місці зображення.

Доступні значення аргументів x та y починаються від 0 і закінчуються на висоті або ширині мінус 1. Дробова частка у нецілих значень відкидається.

В версіях до 11.0 діапазон кольорових компонентів був від 0 до 255, а не від 0 до 1.

O.png В версіях до 0.10.2 ця функція неправильно працювала з дробовими координатами, і могла повернути неправильний результат, коли їй передавалися нецілі значення.  


Функція

Вигляд

r, g, b, a = ImageData:getPixel( x, y )

Аргументи

number x
Позиція пікселя на осі X.
number y
Позиція пікселя на осі Y.

Повертає

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

Приклади

При натисканні кнопки миші використати значення червоного, зеленого та синього компонентів пікселя під мишкою як колір фону.

local imagedata = love.image.newImageData('path/to/Image.png')
local image     = love.graphics.newImage(imagedata)

function love.mousepressed(mx, my)
    if  0 <= mx and mx < image:getWidth()
    and 0 <= my and my < image:getHeight() then
        local r, g, b = imagedata:getPixel(mx, my)
        love.graphics.setBackgroundColor(r, g, b)
    end
end

function love.draw()
    love.graphics.draw(image, 0, 0)
end

Див. також


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