ImageData
Raw (decoded) image data.
You can't draw ImageData directly to screen. See Image for that.
Contents
Constructors
Canvas:newImageData | Generates ImageData from the contents of the Canvas. | 0.10.0 | |
love.graphics.newScreenshot | Creates a screenshot and returns the ImageData. | 11.0 | |
love.image.newImageData | Creates a new ImageData object. |
Functions
Data:clone | Creates a new copy of the Data object. | 11.0 | |
Data:getFFIPointer | Gets an FFI pointer to the Data. | 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. | 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. | 0.9.0 | |
ImageData:getFormat | Gets the pixel format of the ImageData. | 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. | 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. | 11.0 | |
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.
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
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