ImageData (Русский)

Декодированные данные изображения.

Вы не можете использовать ImageData для рисования на экране. Смотрите Image для этого.

Функции

ImageData:encodeEncodes the ImageData to a file format and optionally writes it to the save directory.
ImageData:getDimensionsGets the width and height of the ImageData in pixels.
ImageData:getFormatGets the pixel format of the ImageData.
ImageData:getHeightGets the height of the ImageData in pixels.
ImageData:getPixelGets the color of a pixel.
ImageData:getStringGets the full ImageData as a string.
ImageData:getWidthGets the width of the ImageData in pixels.
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.

Пример

Изображения с разрешением не равным 2^n будут отображаться как белые прямоугольники на некоторых графических чипах. Эта функция подгоняет изображение, так что они будут отображаться корректно.

function newPaddedImage(filename)
	local source = love.image.newImageData(filename)
	local w, h = source:getWidth(), source:getHeight()
	
	-- Нахождение нужной степени для двойки.
	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)))
	
	-- Если подгонка нужна:
	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

Смотрите также

Другие языки