Difference between revisions of "ImageData"

(Load map from image)
(Load map from image)
Line 47: Line 47:
 
for y = 1, height do
 
for y = 1, height do
 
local values = {imageData:getPixel(x-1, y-1)} -- as list {r, g, b, a}
 
local values = {imageData:getPixel(x-1, y-1)} -- as list {r, g, b, a}
print (unpack(values))
+
print (x, y, unpack(values))
 
map[x][y] = values
 
map[x][y] = values
 
end
 
end

Revision as of 20:44, 4 February 2022

Raw (decoded) image data.

You can't draw ImageData directly to screen. See Image for that.

Constructors

Canvas:newImageData Generates ImageData from the contents of the Canvas. Added since 0.10.0
love.graphics.newScreenshot Creates a screenshot and returns the ImageData. Removed in 11.0
love.image.newImageData Creates a new ImageData object.

Functions

Data:clone Creates a new copy of the Data object. Added since 11.0
Data:getFFIPointer Gets an FFI pointer to the Data. Added since 11.3
Data:getPointer Gets a pointer to the Data.
Data:getSize Gets the Data's size in bytes.
Data:getString Gets the full Data as a string. Added since 0.9.0
ImageData:encode Encodes the ImageData to a file format and optionally writes it to the save directory.
ImageData:getDimensions Gets the width and height of the ImageData in pixels. Added since 0.9.0
ImageData:getFormat Gets the pixel format of the ImageData. Added since 11.0
ImageData:getHeight Gets the height of the ImageData in pixels.
ImageData:getPixel Gets the color of a pixel.
ImageData:getString Gets the full ImageData as a string. Removed in 0.9.0
ImageData:getWidth Gets the width of the ImageData in pixels.
ImageData:mapPixel Transform an image by applying a function to every pixel.
ImageData:paste Paste into ImageData from another source ImageData.
ImageData:setPixel Sets the color of a pixel.
Object:release Immediately destroys the object's Lua reference. Added since 11.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.

Enums

ImageEncodeFormat Image file formats supported by ImageData:encode.

Load map from image

local filename = "image.png"
local imageData = love.image.newImageData( filename )
local width, height = imageData:getDimensions( )
local map = {}
for x = 1, width do
	map[x] = {}
	for y = 1, height do
		local values = {imageData:getPixel(x-1, y-1)} -- as list {r, g, b, a}
		print (x, y, unpack(values))
		map[x][y] = values
	end
end

Supertypes

See Also


Other Languages