(Image):getData
Available since LÖVE 0.9.0 and removed in LÖVE 11.0 |
Create an ImageData from a file, create the Image from that, and keep a reference to the ImageData, instead of using this function. |
Gets the original ImageData or CompressedData used to create the Image.
All Images keep a reference to the Data that was used to create the Image. The Data is used to refresh the Image when love.window.setMode or Image:refresh is called.
Contents
Function
Synopsis
data = Image:getData( )
Arguments
None.
Returns
ImageData data
- The original ImageData used to create the Image, if the image is not compressed.
Function
Synopsis
data = Image:getData( )
Arguments
None.
Returns
CompressedData data
- The original CompressedData used to create the Image, if the image is compressed.
Examples
Edit the Image's ImageData and refresh the Image using the edited ImageData.
function love.load()
image = love.graphics.newImage("pig.png")
end
function love.draw()
love.graphics.draw(image)
end
function love.keypressed(key)
-- If the image is compressed, it will return CompressedData which doesn't have a mapPixel method.
-- Currently only dds files can become compressed images.
if key == "e" and not image:isCompressed() then
local data = image:getData()
data:mapPixel(function(x, y, r, g, b, a) return r/2, g/2, b/2, a/2 end)
image:refresh()
end
end
But you can get the ImageData if you draw it as canvas (probably too slow):
local function newImageData (image)
local canvas = love.graphics.newCanvas (image:getDimensions())
love.graphics.setCanvas (canvas)
love.graphics.setColor (1,1,1)
love.graphics.draw (image)
love.graphics.setCanvas ()
return canvas:newImageData()
end
See Also
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info