Views
ImageData
Raw (decoded) image data.
You can't draw ImageData directly to screen. See Image for that.
Constructors
love.image.newImageData | Creates a new ImageData object. |
Functions
Data:getPointer | Gets a pointer to the Data. | ||
Data:getSize | Gets the size in bytes of the Data. | ||
Data:getString | Gets the full Data as a string. | ![]() | |
ImageData:encode | Encodes ImageData. | ||
ImageData:getDimensions | Gets the width and height of the 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. | ||
Object:type | Gets the type of the object as a string. | ||
Object:typeOf | Checks whether an object is of a certain type. |
Enums
ImageFormat | Encoded 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
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