因此,当我尝试将此rgb值映射到我的数据时:
image=love.image.newImageData(WIDTH,HEIGHT,"rgba16f")
image:mapPixel(pixelFunction)
image2=love.graphics.newImage(image)
function pixelFunction(x, y, r, g, b, a)
return 0,50,0,255
end我明白了

正如您所看到的,这类似于(0,255,0,255),而不是我想要的RGB值,事实上,它似乎只能呈现最大的红色、绿色或蓝色值,使函数变得无足轻重
发布于 2018-06-10 00:37:28
从只生成极端颜色的事实可以猜到,值50超出了动态范围。使用分数为1 (0,50/255,0,1)的rgba表示确实会生成深绿色。
(0,50,0,255)过去在爱情10中工作。根据wiki的说法,它应该在你似乎设置的"rgba16f“中工作在爱情11中。但事实并非如此。请转到他们的bug报告部分。
WIDTH=300; HEIGHT=300;
imageData=love.image.newImageData(WIDTH,HEIGHT,'rgba16f')
function pixelFunction(x, y, r, g, b, a)
return 0,50/255,0,255
end
imageData:mapPixel(pixelFunction)
image=love.graphics.newImage(imageData)
function love.draw()
love.graphics.draw(image,0,0)
end是的,你搞砸了定义和使用的顺序。
https://stackoverflow.com/questions/50757360
复制相似问题