Web 安全颜色是指那些在 256 色显示器上显示时不会抖动的颜色,由 00、33、66、99、CC 和 FF 组成的十六进制 RGB 值。以下是几种使用 Bash 生成 Web 安全颜色的方法:
#!/bin/bash
# 定义 Web 安全颜色的十六进制值
values=("00" "33" "66" "99" "CC" "FF")
# 生成所有可能的组合
for r in "${values[@]}"; do
for g in "${values[@]}"; do
for b in "${values[@]}"; do
echo "#$r$g$b"
done
done
done
这将生成 6×6×6=216 种 Web 安全颜色。
#!/bin/bash
# Web 安全颜色值
values=("00" "33" "66" "99" "CC" "FF")
# 随机选择 RGB 分量
random_color() {
local r=${values[$RANDOM % 6]}
local g=${values[$RANDOM % 6]}
local b=${values[$RANDOM % 6]}
echo "#$r$g$b"
}
# 生成10个随机 Web 安全颜色
for i in {1..10}; do
random_color
done
#!/bin/bash
values=("00" "33" "66" "99" "CC" "FF")
# 使用 ANSI 转义序列显示颜色
show_color() {
local hex=$1
# 转换为 RGB 十进制值
local r=$((16#${hex:1:2}))
local g=$((16#${hex:3:2}))
local b=$((16#${hex:5:2}))
printf "\e[48;2;%d;%d;%dm \e[0m %s\n" $r $g $b "$hex"
}
# 生成并显示所有 Web 安全颜色
for r in "${values[@]}"; do
for g in "${values[@]}"; do
for b in "${values[@]}"; do
show_color "#$r$g$b"
done
done
done
#!/bin/bash
values=("00" "33" "66" "99" "CC" "FF")
# 计算颜色亮度 (0-255)
calculate_brightness() {
local r=$((16#$1))
local g=$((16#$2))
local b=$((16#$3))
echo $(( (r*299 + g*587 + b*114) / 1000 ))
}
# 生成所有颜色并计算亮度
declare -a colors
for r in "${values[@]}"; do
for g in "${values[@]}"; do
for b in "${values[@]}"; do
brightness=$(calculate_brightness "$r" "$g" "$b")
colors+=("$brightness #$r$g$b")
done
done
done
# 按亮度排序并输出
printf "%s\n" "${colors[@]}" | sort -n | cut -d' ' -f2
可以将这些脚本保存为 .sh
文件并添加执行权限:
chmod +x web_safe_colors.sh
./web_safe_colors.sh
要保存颜色列表到文件:
./web_safe_colors.sh > web_colors.txt
在网页开发中,可以将这些颜色用于 CSS 或 HTML 颜色选择器。
Web 安全颜色在现代显示器上已不像过去那么重要,因为大多数设备现在都支持数百万种颜色,但在某些特殊场景下(如终端应用或低端设备)仍然有用。