我有一个汇编项目(x86)来创建游戏。 该游戏测试您观察颜色差异的能力。 我画了一个矩阵(4*4)并用任意颜色填充它。 现在我想用相同的颜色但更亮的填充[矩阵]的一个单元格。 我需要 3 级亮度。
我知道我需要使用03c8端口,但是如何使用这个端口呢? 组合颜色保存在哪里?
https://web.archive.org/web/20170111220757/http://www.delorie.com/djgpp/doc/ug/graphics/vga.html
void set_color(int color, int red, int green, int blue)
{
outportb(0x3C8, color);
outportb(0x3C9, red);
outportb(0x3C9, green);
outportb(0x3C9, blue);
}
红、绿、蓝颜色值的范围从 0 到 63,因此对于 例如调用 set_color(10, 0, 0, 0) 会将颜色编号 10 更改为 黑色,而 set_color(10, 63, 63, 63) 会将其更改为白色,并且 set_color(10, 63, 40, 0) 将其更改为橙色。