登录
颜色转换器

颜色转换器

相关工具 TODO
1
2
3

什么是颜色转换器?

颜色转换器是一个用于在不同颜色格式之间进行转换的工具。在数字设计、网页开发和图形处理中,不同的应用场景需要使用不同的颜色表示方法,这个工具可以帮您快速在各种颜色格式之间转换,并提供直观的颜色调节功能。

主要功能:

  • 多格式支持:HEX、RGB、HSL、HSV、RGBA、HSLA 等格式
  • 实时预览:即时显示颜色效果
  • 交互调节:通过滑块调整 RGB 和 HSL 数值
  • 颜色历史:记录最近使用的颜色
  • 预设颜色:提供常用颜色快速选择
  • 一键复制:支持各种格式的颜色值复制

主要应用场景:

  • 网页设计:CSS 颜色值的转换和调整
  • UI 设计:界面配色方案的制定
  • 品牌设计:品牌色彩的统一管理
  • 图形设计:色彩搭配和调色
  • 开发调试:前端开发中的颜色测试

颜色格式详解

1. HEX (十六进制) 格式

格式#RRGGBB#RGB

特点

  • 最常用的网页颜色格式
  • 使用十六进制表示红、绿、蓝分量
  • 简洁紧凑,易于存储和传输

示例

#ff0000  /* 红色 */
#00ff00  /* 绿色 */
#0000ff  /* 蓝色 */
#ffffff  /* 白色 */
#000000  /* 黑色 */
#f00     /* 红色 (简写) */

应用场景

  • CSS 样式表
  • HTML 颜色属性
  • 设计软件颜色选择
  • 品牌色彩标准

2. RGB 格式

格式rgb(red, green, blue)

取值范围:每个分量 0-255

特点

  • 直观表示三原色数值
  • 便于程序化处理
  • 与显示器显示原理一致

示例

rgb(255, 0, 0)    /* 红色 */
rgb(0, 255, 0)    /* 绿色 */
rgb(0, 0, 255)    /* 蓝色 */
rgb(128, 128, 128) /* 灰色 */
rgb(255, 255, 255) /* 白色 */

应用场景

  • JavaScript 颜色操作
  • 图像处理算法
  • 动画颜色渐变
  • 数据可视化

3. RGBA 格式

格式rgba(red, green, blue, alpha)

透明度范围:alpha 0.0-1.0

特点

  • 在 RGB 基础上增加透明度
  • 支持半透明效果
  • 现代浏览器广泛支持

示例

rgba(255, 0, 0, 1.0)   /* 不透明红色 */
rgba(255, 0, 0, 0.5)   /* 半透明红色 */
rgba(0, 0, 0, 0.8)     /* 半透明黑色 */
rgba(255, 255, 255, 0) /* 完全透明 */

应用场景

  • 遮罩层效果
  • 悬浮菜单背景
  • 阴影和光晕效果
  • 渐变透明效果

4. HSL 格式

格式hsl(hue, saturation%, lightness%)

参数说明

  • Hue (色相):0-360°,颜色在色轮上的位置
  • Saturation (饱和度):0-100%,颜色的纯度
  • Lightness (亮度):0-100%,颜色的明暗程度

特点

  • 更符合人类对颜色的感知
  • 便于调整颜色的明暗和饱和度
  • 适合创建和谐的配色方案

示例

hsl(0, 100%, 50%)    /* 红色 */
hsl(120, 100%, 50%)  /* 绿色 */
hsl(240, 100%, 50%)  /* 蓝色 */
hsl(0, 0%, 50%)      /* 灰色 */
hsl(60, 100%, 50%)   /* 黄色 */

应用场景

  • 色彩主题设计
  • 颜色渐变效果
  • 配色方案生成
  • 色彩心理学应用

5. HSLA 格式

格式hsla(hue, saturation%, lightness%, alpha)

特点

  • HSL + 透明度通道
  • 兼具 HSL 的直观性和透明度控制
  • 适合复杂的视觉效果

示例

hsla(0, 100%, 50%, 0.8)   /* 半透明红色 */
hsla(240, 100%, 50%, 0.3) /* 淡蓝色背景 */
hsla(120, 80%, 60%, 0.9)  /* 几乎不透明的绿色 */

6. HSV/HSB 格式

格式:HSV(Hue, Saturation, Value/Brightness)

参数说明

  • Hue (色相):0-360°
  • Saturation (饱和度):0-100%
  • Value/Brightness (明度):0-100%

特点

  • 设计软件中常用
  • 更直观的颜色调节方式
  • 便于理解颜色的亮度变化

应用场景

  • Photoshop 等设计软件
  • 颜色选择器界面
  • 艺术创作工具
  • 色彩理论教学

颜色转换原理

RGB ↔ HEX 转换

// RGB 转 HEX
function rgbToHex(r, g, b) {
  return (
    '#' +
    [r, g, b]
      .map(x => {
        const hex = x.toString(16)
        return hex.length === 1 ? '0' + hex : hex
      })
      .join('')
  )
}

// HEX 转 RGB
function hexToRgb(hex) {
  const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex)
  return result
    ? {
        r: parseInt(result[1], 16),
        g: parseInt(result[2], 16),
        b: parseInt(result[3], 16),
      }
    : null
}

RGB ↔ HSL 转换

HSL 转换涉及更复杂的数学计算,主要步骤:

  1. RGB → HSL

    • 将 RGB 值归一化到 0-1 范围
    • 计算最大值和最小值
    • 根据最大值计算色相(H)
    • 计算饱和度(S)和亮度(L)
  2. HSL → RGB

    • 根据饱和度和亮度计算中间值
    • 根据色相确定 RGB 分量
    • 将结果转换回 0-255 范围

实际应用示例

1. 网页 CSS 应用

/* 主题色彩定义 */
:root {
  --primary-color: #3b82f6; /* 主色调 */
  --primary-light: #60a5fa; /* 浅色变体 */
  --primary-dark: #1d4ed8; /* 深色变体 */
  --primary-alpha: rgba(59, 130, 246, 0.1); /* 透明变体 */
}

/* 悬停效果 */
.button {
  background-color: var(--primary-color);
  transition: background-color 0.3s ease;
}

.button:hover {
  background-color: var(--primary-dark);
}

/* 渐变背景 */
.gradient-bg {
  background: linear-gradient(
    135deg,
    hsl(220, 90%, 60%) 0%,
    hsl(240, 90%, 70%) 100%
  );
}

2. JavaScript 动态颜色

// 颜色亮度调整
function adjustBrightness(hex, percent) {
  const rgb = hexToRgb(hex)
  const hsl = rgbToHsl(rgb.r, rgb.g, rgb.b)
  hsl.l = Math.max(0, Math.min(100, hsl.l + percent))
  const newRgb = hslToRgb(hsl.h, hsl.s, hsl.l)
  return rgbToHex(newRgb.r, newRgb.g, newRgb.b)
}

// 生成配色方案
function generateColorScheme(baseColor) {
  const base = hexToRgb(baseColor)
  const hsl = rgbToHsl(base.r, base.g, base.b)

  return {
    primary: baseColor,
    light: adjustBrightness(baseColor, 20),
    dark: adjustBrightness(baseColor, -20),
    complement: rgbToHex(...hslToRgb((hsl.h + 180) % 360, hsl.s, hsl.l)),
  }
}

3. 设计系统配色

// 色彩变量系统
$colors: (
  primary: (
    50: hsl(220, 90%, 98%),
    100: hsl(220, 90%, 95%),
    200: hsl(220, 90%, 90%),
    300: hsl(220, 90%, 80%),
    400: hsl(220, 90%, 70%),
    500: hsl(220, 90%, 60%),
    // 基础色
    600: hsl(220, 90%, 50%),
    700: hsl(220, 90%, 40%),
    800: hsl(220, 90%, 30%),
    900: hsl(220, 90%, 20%),
  ),
);

// 使用示例
.primary-button {
  background-color: map-get(map-get($colors, primary), 500);

  &:hover {
    background-color: map-get(map-get($colors, primary), 600);
  }
}

色彩理论应用

1. 配色方案类型

单色配色

  • 使用同一色相的不同明度和饱和度
  • 和谐统一,适合简约设计
  • 示例:hsl(220, 80%, 30%)hsl(220, 80%, 70%)

互补色配色

  • 使用色轮上相对的颜色
  • 对比强烈,视觉冲击力强
  • 示例:红色(0°) + 青色(180°)

三角配色

  • 使用色轮上等距 120° 的三种颜色
  • 平衡丰富,活泼生动
  • 示例:红(0°) + 绿(120°) + 蓝(240°)

分裂互补配色

  • 基础色 + 互补色相邻的两种颜色
  • 对比适中,更加和谐
  • 示例:红(0°) + 青绿(150°) + 蓝绿(210°)

2. 颜色心理学

红色系

  • 情感:热情、活力、紧急
  • 应用:警告、行动按钮、品牌 Logo

蓝色系

  • 情感:信任、专业、冷静
  • 应用:企业网站、金融 App、医疗产品

绿色系

  • 情感:自然、健康、成功
  • 应用:环保产品、健康 App、确认操作

黄色系

  • 情感:快乐、注意、创新
  • 应用:警告提示、创意设计、儿童产品

设计实践技巧

1. 无障碍设计

/* 确保足够的对比度 */
.text-primary {
  color: #1a1a1a; /* 深灰色文字 */
  background: #ffffff; /* 白色背景 */
  /* 对比度比例 > 4.5:1 */
}

.text-secondary {
  color: #4a5568; /* 中灰色文字 */
  background: #ffffff; /* 白色背景 */
  /* 对比度比例 > 3:1 */
}

2. 响应式颜色

/* 深色模式适配 */
@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: hsl(220, 15%, 10%);
    --text-color: hsl(220, 15%, 90%);
    --border-color: hsl(220, 15%, 20%);
  }
}

/* 高对比模式 */
@media (prefers-contrast: high) {
  :root {
    --bg-color: #000000;
    --text-color: #ffffff;
    --accent-color: #ffff00;
  }
}

3. 渐变设计

/* 线性渐变 */
.gradient-linear {
  background: linear-gradient(
    45deg,
    hsl(240, 100%, 60%) 0%,
    hsl(280, 100%, 70%) 50%,
    hsl(320, 100%, 60%) 100%
  );
}

/* 径向渐变 */
.gradient-radial {
  background: radial-gradient(
    circle at center,
    hsla(220, 100%, 70%, 0.8) 0%,
    hsla(220, 100%, 40%, 0.2) 100%
  );
}

工具使用技巧

1. 快速调色

  1. 使用 HSL 调节:比 RGB 更直观地调整颜色
  2. 保存历史:记录满意的颜色配置
  3. 预设选择:从常用颜色开始设计
  4. 随机生成:激发创意灵感

2. 格式选择

HEX 格式

  • 静态 CSS 样式
  • 设计规范文档
  • 简单的颜色标识

RGB/RGBA 格式

  • JavaScript 动态操作
  • 需要透明度的场景
  • 动画效果实现

HSL/HSLA 格式

  • 主题色彩系统
  • 配色方案生成
  • 用户自定义主题

3. 开发工作流

  1. 设计阶段:使用 HSL 确定主色调
  2. 开发阶段:转换为项目需要的格式
  3. 测试阶段:验证对比度和可访问性
  4. 优化阶段:调整颜色性能和兼容性

提示:颜色转换器不仅是一个格式转换工具,更是色彩设计的得力助手。合理运用不同的颜色格式和调节方式,可以大大提升设计效率和效果。建议设计师和开发者熟练掌握各种颜色格式的特点和应用场景。