Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
You can set colors in Small Basic in 3 ways:
All 3 above are equivalent (Red). See that the Hex example has 3 hexadecimal values corresponding to the Red, Green and Blue components: FF(R), 00(G) and 00(B), which in decimal are 255(R), 0(G) and 0(B). The # symbol is required and is a standard symbol that shows that the following characters are hex values.
The 'Introducing Small Basic' guide lists all the available named colors, and their corresponding hex values, here are the Red hue colors.
You can also add transparency using the hex method by adding an extra hex value for the opacity (00 fully transparent and FF fully opaque), using ARGB in place of RGB.
For example "#80FF0000" is 50% (80) transparent Red.
GraphicsWindow``.``DrawText``(``50``,``50``,``"Hello World"``)
GraphicsWindow``.`` BrushColor `` = ``"#80FF0000"
ellipse `` = ``Shapes``.``AddEllipse``(``90``,``35``)
Shapes``.``Move``(``ellipse``,``40``,``40``)
Another way to describe a color is by HSL, which stands for Hue, Saturation, Lightness.
The following code converts HSL to RGB, and displays the available Hues (0 to 360) at maximum Saturation (1) and medium Lightness (0.5).
GraphicsWindow``.`` Width `` = ``360
GraphicsWindow``.`` Height `` = ``100
For `` H `` = `` 0 `` To ``360
`` S `` = ``1
`` L `` = ``0.5
``HSL2RGB``(``)
``GraphicsWIndow``.`` PenColor `` = ``GraphicsWindow``.``GetColorFromRGB``(``R``,``G``,``B``)
``GraphicsWindow``.``DrawLine``(``H``,``0``,``H``,``100``)
EndFor
Sub ``HSL2RGB
``'Check Limits
`` While ``(`` H `` < ``0``)
`` H `` = ``H``+``360
``EndWhile
`` While ``(`` H ``>`` = ``360``)
`` H `` = ``H``-``360
``EndWhile
`` S `` = ``Math``.``Max``(``0``,``Math``.``Min``(``1``,``S``)``)
`` L `` = ``Math``.``Max``(``0``,``Math``.``Min``(``1``,``L``)``)
`` C `` = ``(``1``-``Math``.``Abs``(``2``*``L``-``1``)``)``*``S
`` H2 `` = ``H``/``60
`` X `` = ``C``*``(``1``-``Math``.``Abs``(``Math``.``Remainder``(``H2``,``2``)``-``1``)``)
`` If ``(`` H2 ``>`` = `` 0 `` And `` H2 `` < ``1`` ) ``Then
`` R `` = ``C
`` G `` = ``X
`` B `` = ``0
`` ElseIf ``(`` H2 ``>`` = `` 1 `` And `` H2 `` < ``2`` ) ``Then
`` R `` = ``X
`` G `` = ``C
`` B `` = ``0
`` ElseIf ``(`` H2 ``>`` = `` 2 `` And `` H2 `` < ``3`` ) ``Then
`` R `` = ``0
`` G `` = ``C
`` B `` = ``X
`` ElseIf ``(`` H2 ``>`` = `` 3 `` And `` H2 `` < ``4`` ) ``Then
`` R `` = ``0
`` G `` = ``X
`` B `` = ``C
`` ElseIf ``(`` H2 ``>`` = `` 4 `` And `` H2 `` < ``5`` ) ``Then
`` R `` = ``X
`` G `` = ``0
`` B `` = ``C
`` ElseIf ``(`` H2 ``>`` = `` 5 `` And `` H2 `` < ``6`` ) ``Then
`` R `` = ``C
`` G `` = ``0
`` B `` = ``X
``Else
`` R `` = ``0
`` G `` = ``0
`` B `` = ``0
``EndIf
`` M `` = ``L``-``C``/``2
`` R `` = ``255``*``(``R``+``M``)
`` G `` = ``255``*``(``G``+``M``)
`` B `` = ``255``*``(``B``+``M``)
EndSub
Anonymous
July 06, 2014
Thank you litdev, It's very simple explanation about colors.
Please refer following TechNet Wiki article for more detail.
social.technet.microsoft.com/.../23227.small-basic-color.aspx
Anonymous
July 26, 2014
Yeah, this is kind of awesome!
I'm going to combine this into Nonki's Wiki article: social.technet.microsoft.com/.../23227.small-basic-color.aspx
I hope that's okay. I think it adds a lot, and Nonki's section go more in depth on it.
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in