Color
 
Устанавливает цвет дисплея для переднего плана/фона, который используется в консольном выводе и выводе текста в графическом окне

Синтаксис

Declare Function Color ( ByVal foreground As Integer , ByVal background As Integer ) As Integer

Использование

Color [foreground] [, background]
result = Color [( [foreground] [, background] )]

Параметры

foreground
цвет переднего плана, чтобы установить
background
цвет фона, чтобы установить

Возвращаемое значение

Возвращает 32-битное значение Integer содержащее текущий цвет переднего плана в Low Word(младшее слово) , а текущий цвет фона в High Word(старшее слово). (В полноцветных режимах возвращается только цвет переднего плана, занимая все 32 бита.)
Старые значения цвета могут быть получены при установке новых.

Описание

Оператор Color задает текущий цвет переднего плана или фона. Circle, Draw, Line (Graphics), Cls, Paint, Print, PReset и PSet все используют последний цвет, установленный этой функцией, когда не указан цвет для них самих, где это применимо. Значение цвета Color зависит от текущего режима графики.

РежимСмысл
1 цвет переднего плана экрана (в диапазоне 0-15). Для цвета фона эмулируются CGA палитры, которые будут использоваться: 0 (зеленый, красный, и коричневый), 1 (голубой, пурпурный и белый), 2 (те же, как 0, но с яркими цветами) , и 3 (те же, как 1, но с яркими цветами)
2, 11 цвет переднего плана обозначается индексом в текущей палитре (в диапазоне 0-1). цвет фона обозначается индексом в текущей палитре (в диапазоне 0-1)
7, 8цвет переднего плана обозначается индексом в текущей палитре (в диапазоне 0-15). цвет фона обозначается индексом в текущей палитре (в диапазоне 0-15)
9цвет переднего плана обозначается индексом в текущей палитре (в диапазоне 0-63). цвет фона обозначается индексом в текущей палитре (в диапазоне 0-63)
12цвет переднего плана обозначается индексом в текущей палитре (в диапазоне 0-15). цвет фона обозначается индексом в текущей палитре (в диапазоне 0-15)
13 and upцвет переднего плана обозначается индексом в текущей палитре (в диапазоне 0-255). цвет фона обозначается индексом в текущей палитре (в диапазоне 0-255)


Если вы используете глубину цвета выше, чем 8bpp, цвета переднего плана и фона являются прямыми RGB значениями в форме &hAARRGGBB, где AA, RR, GG и BB являются альфа, красным, зеленым и синим компонентом, в диапазоне &h00-&hFF (0-255 в десятичной системе счисления). В полноцветных режимах можно использовать макрос RGB или RGBA для получения значения действительного цвета.
Палитра по умолчанию автоматически устанавливается при вводе режима Screen.

Пример

' Установка экрана 320x240 с глубиной цвета 32bpp
Screen 14, 32

' Устанавливаем оранжевый цвет переднего плана на темно-синий цвет фона
Color RGB(255, 128, 0), RGB(0, 0, 64)

' Очищаем экран в цвет фона
Cls                     

' Печатаем "Hello World!" в центре экрана
Locate 15, 14
Print "Hello World!"

Sleep


Dim c As UInteger

'получить текущие значения цвета
c = Color()

'извлечь значения цвета с помощью LOWORD и HIWORD
Print "Console colors:"
Print "Foreground: " & LoWord(c)
Print "Background: " & HiWord(c)


Отличия от QB

  • Прямые цветовые режимы не поддерживались в QB.
  • Нет никаких границ аргумента.

См. также