Difference between revisions of "ImageData"

(Load map from image)
m
 
(2 intermediate revisions by 2 users not shown)
Line 36: Line 36:
 
| ?PrettyRemoved
 
| ?PrettyRemoved
 
}}
 
}}
 +
 +
== Supertypes ==
 +
* [[parent::Data]]
 +
* [[parent::Object]]
 +
 +
== Examples ==
  
 
=== Load map from image ===
 
=== Load map from image ===
 +
(Note that this example creates a ''lot'' of tables.)
 
<source lang="lua">
 
<source lang="lua">
local filename = "image.png"
+
local filename     = "image.png"
local imageData = love.image.newImageData( filename )
+
local imageData     = love.image.newImageData(filename)
local width, height = imageData:getDimensions( )
+
local width, height = imageData:getDimensions()
local map = {}
+
local map           = {}
for x = 1, width do
+
 
map[x] = {}
+
for y = 1, height do
for y = 1, height do
+
map[y] = {}
 +
for x = 1, width do
 
local r, g, b, a = imageData:getPixel(x-1, y-1)
 
local r, g, b, a = imageData:getPixel(x-1, y-1)
map[x][y] = {r, g, b, a}
+
map[y][x]       = {r, g, b, a}
 
end
 
end
 
end
 
end
 +
 
</source>
 
</source>
  
== Supertypes ==
 
* [[parent::Data]]
 
* [[parent::Object]]
 
 
== See Also ==
 
== See Also ==
 
* [[parent::love.image]]
 
* [[parent::love.image]]

Latest revision as of 18:27, 18 February 2024

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.

Supertypes

Examples

Load map from image

(Note that this example creates a lot of tables.)

local filename      = "image.png"
local imageData     = love.image.newImageData(filename)
local width, height = imageData:getDimensions()
local map           = {}

for y = 1, height do
	map[y] = {}
	for x = 1, width do
		local r, g, b, a = imageData:getPixel(x-1, y-1)
		map[y][x]        = {r, g, b, a}
	end
end

See Also


Other Languages