Difference between revisions of "(Image):getData"

m (Added comment to example about CompressedData)
Line 37: Line 37:
 
function love.keypressed(key)
 
function love.keypressed(key)
 
     -- If the image is compressed, it will return CompressedData which doesn't have a mapPixel method.
 
     -- 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
 
     if key == "e" and not image:isCompressed() then
 
         local data = image:getData()
 
         local data = image:getData()

Revision as of 21:38, 12 August 2013

Available since LÖVE 0.9.0
This function is not supported in earlier versions.

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.

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

See Also

Other Languages