ImageData:getPixel (日本語)

画像において指定された座標にあるピクセルの色を取得します。

有効な x および y の値は 0 を始点として画像の幅および高さの -1 以下までです。非整数値は切り捨てられます。

バージョン 11.0 以前まで、配色成分における値の範囲は小数値の 0 〜 1 ではなく整数値の 0 〜 255 です。

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

関連


そのほかの言語