ImageData (Português)

Dados de imagens brutos (decodificados).

Não é possível desenhar um ImageData diretamente para a tela. Veja Image para isso.

Funções

ImageData:encode (Português)Codifica um ImageData.
ImageData:getHeight (Português)Obtém a altura de um ImageData.
ImageData:getPixel (Português)Obtém o dados do pixel de uma posição específica.
ImageData:getString (Português)Obtém todo um ImageData como uma string.
ImageData:getWidth (Português)Obtém a largura de um ImageData.
ImageData:mapPixel (Português)Transforma uma imagem através da aplicação de uma função em todos os pixels.
ImageData:paste (Português)Cola em um ImageData a partir de uma outra ImageData.
ImageData:setPixel (Português)Configura a cor de um pixel.

Exemplos

Imagens que tem dimensões que não são potência de 2 serão mostradas incorretamente como um retângulo branco em algumas placas gráficas. Esta função completa a imagem para que elas sejam feitas corretamente.

function newPaddedImage(nomeArquivo)
	local fonte = love.image.newImageData(nomeArquivo)
	local w, h = source:getWidth(), source:getHeight()
	
	-- Procura a potência de dois mais próxima
	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)))
	
	-- Completa, se necessário
	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(fonte)
end

Veja Também

Outros Idiomas