LOVE2D映射像素错误

时间:2018-06-08 09:21:11

标签: lua love2d

所以当我尝试将这个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

我得到了这个enter image description here

正如你所看到的那样(0,255,0,255)不是我想要的rgb值,事实上它似乎只能渲染最大的红绿色或蓝色值,使得函数无法使用

1 个答案:

答案 0 :(得分:0)

正如人们可以从仅生成极端颜色的事实中猜测的那样,值50超出了动态范围。在一个(0,50 / 255,0,1)的分数中使用rgba表示确实导致深绿色。

(0,50,0,255)曾经在恋爱中工作10.根据wiki,它应该在爱情11中与" rgba16f"你似乎设定了。但它并没有。继续他们的错误报告部分。

此外,请注意minimal reproducible example问题应该按照这些方式进行:

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

是的,你已经破坏了定义和使用的顺序。