Compare commits
2 Commits
220ec4a624
...
1fb0bff767
Author | SHA1 | Date |
---|---|---|
Some guy named Michael | 1fb0bff767 | 9 months ago |
Some guy named Michael | 7964048ad9 | 9 months ago |
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
# https://unix.stackexchange.com/a/269085
|
||||
|
||||
# A simple test of your console capacity to present so many colors is:
|
||||
# for r in {200..255..5}; do fb=4;g=1;b=1;printf '\e[0;%s8;2;%s;%s;%sm ' "$fb" "$r" "$g" "$b"; done; echo
|
||||
# It will present a red line with a very small change in tone from left to right.
|
||||
# If that small change is visible, your console is capable of 16 million colors.
|
||||
# If your console type support this, this code will create a color table:
|
||||
|
||||
mode2header(){
|
||||
#### For 16 Million colors use \e[0;38;2;R;G;Bm each RGB is {0..255}
|
||||
printf '\e[m' # reset the colors.
|
||||
printf '\n\e[m%s\n' "Some samples of colors for r;g;b. Each one may be 000..255"
|
||||
printf '\e[m%59s\n' "for the ansi option: \e[0;38;2;r;g;bm or \e[0;48;2;r;g;bm :"
|
||||
}
|
||||
mode2colors(){
|
||||
# foreground or background (only 3 or 4 are accepted)
|
||||
local fb="$1"
|
||||
[[ $fb != 3 ]] && fb=4
|
||||
local samples=(0 63 127 191 255)
|
||||
for r in "${samples[@]}"; do
|
||||
for g in "${samples[@]}"; do
|
||||
for b in "${samples[@]}"; do
|
||||
printf '\e[0;%s8;2;%s;%s;%sm%03d;%03d;%03d ' "$fb" "$r" "$g" "$b" "$r" "$g" "$b"
|
||||
done; printf '\e[m\n'
|
||||
done; printf '\e[m'
|
||||
done; printf '\e[mReset\n'
|
||||
}
|
||||
mode2header
|
||||
mode2colors 3
|
||||
mode2colors 4
|
||||
|
||||
printf '\n\e[0;38;2;255;0;0mNote\e[m: This is only a sample, all 16m colors should be available for use\e[m\n\n'
|
Loading…
Reference in new issue