ImageData

Raw (decoded) image data.

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

Constructors

love.image.newImageDataCreates a new ImageData object.

Functions

Data:getPointerGets a pointer to the Data.
Data:getSizeGets the size in bytes of the Data.
Data:getStringGets the full Data as a string.Added since 0.9.0
ImageData:encodeEncodes ImageData.
ImageData:getDimensionsGets the width and height of the ImageData.Added since 0.9.0
ImageData:getHeightGets the height of the ImageData.
ImageData:getPixelGets the pixel at the specified position.
ImageData:getStringGets the full ImageData as a string. Removed in 0.9.0
ImageData:getWidthGets the width of the ImageData.
ImageData:mapPixelTransform an image by applying a function to every pixel.
ImageData:pastePaste into ImageData from another source ImageData.
ImageData:setPixelSets the color of a pixel.
Object:typeGets the type of the object as a string.
Object:typeOfChecks whether an object is of a certain type.

Enums

ImageFormatEncoded image formats.

Examples

Images that have dimensions that are not a 2^n will display incorrectly as a white rectangle on some graphics chipsets. This function pads images so they will display correctly.

Note that versions 0.8.0 and newer will automatically pad graphics Images so you don't have to.

function newPaddedImage(filename)
    local source = love.image.newImageData(filename)
    local w, h = source:getWidth(), source:getHeight()
   
    -- Find closest power-of-two.
    local wp = math.pow(2, math.ceil(math.log(w)/math.log(2)))
    local hp = math.pow(2, math.ceil(math.log(h)/math.log(2)))
   
    -- Only pad if needed:
    if wp ~= w or hp ~= h then
        local padded = love.image.newImageData(wp, hp)
        padded:paste(source, 0, 0)
        return love.graphics.newImage(padded)
    end
   
    return love.graphics.newImage(source)
end

Supertypes

See Also


Other Languages

Personal tools