ImageData

Raw (decoded) image data.

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

Contents

Functions

ImageData:encode Encodes ImageData.
ImageData:getHeight Gets the height of the ImageData.
ImageData:getPixel Gets the pixel at the specified position.
ImageData:getString Gets the full ImageData as a string.
ImageData:getWidth Gets the width of the ImageData.
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.
Data:getPointer Gets a pointer to the Data.
Data:getSize Gets the size of the Data.
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.

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.

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

Data Object

See Also

Other Languages

Personal tools