所以我编写了一个程序,它读取位图并使用 windows.h 打印到控制台。
Windows(在控制台中)允许我为每个字符空间设置两种颜色 - 前景色和背景色。
我仅限于这些颜色的 4 位调色板:
http://www.infotart.com/blog/wp-content/uploads/2008/06/windows_4bit_color_swatches.png
我的程序对于 16 种颜色运行良好,但在计算 256 种颜色时遇到了困难。(或者弄清楚是否有可能)
我需要获取索引颜色的 RGB 值(来自 256 种 8 位颜色,例如 224、64、0)并将其显示为 16 种可用颜色中的两种,其中一种颜色是抖动的。
前景字符将是 ASCII 抖动字符之一(我认为是 176、177、178)。
所以我认为每个背景需要有 R、G、B 值 0、128、255 等,前景可以是 0、32、64、96、128、160、192、224 或 255
因此,如果我有数字 RGB = 192,0,0,我可以将背景设置为 RGB = 128,0,0,并将前景设置为 RGB = 255,0,0,ASCII 字符为 176(25% 抖动)
如果我有一个单独的抖动字符可用于红、绿和蓝色,这似乎会非常简单,但遗憾的是我没有。
我知道控制台是一个糟糕的选择,但我必须尝试在没有 Windows GDI 帮助的情况下执行此操作。
我完全被困在试图找出这个算法的过程中,甚至无法看出我的逻辑是否有意义。
有人能解释一下吗?感谢所有帮助,我碰壁了。