5位RGB(0,31,0)至16位RGB(0,255,0)

时间:2011-03-06 06:06:12

标签: c rgb pixel nintendo-ds libnds

所以我一直在开始DS编程,我注意到要绘制一个像素,颜色必须是RGB(0,31,0)。有没有办法将其更改为RGB(0,255,0)?

2 个答案:

答案 0 :(得分:4)

如果您的绿色值g的范围为0-255,则可以使用g*31/255将其转换为NintendoDS的0-31范围。如果你问我们你是否真的可以做一些让你的NintendoDS显示每个频道的范围为0-255,答案是否定的,但是你可以使用抖动(搜索引擎)。 / p>

答案 1 :(得分:3)

5 bit rgb : 31 = 8 bit rgb : 255

所以8 bit rgb = (5 bit rgb * 255 / 31)

示例:

5 bit RGB = 12,3,21

8 bit R = (12 * 255) / 31 = 99
      G = (3 * 255) / 31  = 25
      B = (21 * 255) / 31 = 172

PS:我认为你的意思是“5位RGB到 8位 RGB”。