Difference between revisions of "ImageData:getPixel"

m
(Function: Added notice to input parameters not being interpolated, to thwart any assumptions.)
Line 8: Line 8:
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|number|x|The position of the pixel on the x-axis.}}
+
{{param|number|x|The position of the pixel on the x-axis. Values are not interpolated, so use whole numbers only.}}
{{param|number|y|The position of the pixel on the y-axis.}}
+
{{param|number|y|The position of the pixel on the y-axis. Values are not interpolated, so use whole numbers only.}}
 
=== Returns ===
 
=== Returns ===
 
{{param|number|r|The red component (0-255).}}
 
{{param|number|r|The red component (0-255).}}
Line 15: Line 15:
 
{{param|number|b|The blue component (0-255).}}
 
{{param|number|b|The blue component (0-255).}}
 
{{param|number|a|The alpha component (0-255).}}
 
{{param|number|a|The alpha component (0-255).}}
 +
 
== Examples ==
 
== Examples ==
 
Iterates over the pixels of an image and stores them in a [[sequence]].
 
Iterates over the pixels of an image and stores them in a [[sequence]].

Revision as of 18:52, 15 January 2017

Gets the color of a pixel at a specific position in the image.

Valid x and y values start at 0 and go up to image width and height minus 1.

Function

Synopsis

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

Arguments

number x
The position of the pixel on the x-axis. Values are not interpolated, so use whole numbers only.
number y
The position of the pixel on the y-axis. Values are not interpolated, so use whole numbers only.

Returns

number r
The red component (0-255).
number g
The green component (0-255).
number b
The blue component (0-255).
number a
The alpha component (0-255).

Examples

Iterates over the pixels of an image and stores them in a sequence.

local image = love.image.newImageData( 'path/to/Image.png' )
local pixels = {}
for x = 1, image:getWidth() do
    for y = 1, image:getHeight() do
        -- Pixel coordinates range from 0 to image width - 1 / height - 1.
        local pixel = image:getPixel( x - 1, y - 1 )
        pixels[#pixels + 1] = pixel
    end
end
return pixels

See Also


Other Languages