尝试将背景添加到curses窗口。我有这两个属性
我找到了这两种方法:
bkgd(ch)
和
bkgdset(ch)
但是,我无法实现它们:
win1.new(10,10,10,10)
win1.box('|','-')
win1.bkg(COLOR_RED)
这可以用一堆钻石填充win1!非常有趣的效果,但不是我想要的。我想要一个红色背景。
色彩在我的终端中完美运作。
答案 0 :(得分:0)
已经有一段时间了,但也许我的例子仍然有用:
它是相同的"钻石"对我来说使用
window.bkgd(COLOR_RED)
这似乎出现了,因为bkgd
方法接受 char 并将其打印到窗口的所有空闲空间(请参阅old doc)。
然而,您可以使用具有所需背景颜色的颜色对,并在写入其他内容之前将其应用于所有屏幕位置。
以下是我解决它的方法:
require 'curses'
init_screen
start_color
init_pair(COLOR_RED, COLOR_WHITE, COLOR_RED)
window = Curses::Window.new(0, 0, 0, 0)
window.attron(color_pair(COLOR_RED)) do
lines.times do |line|
window.setpos(line, 0)
window << ' ' * cols
end
end