Categoría · Tarjetas de Contenido Nivel de Dificultad · Avanzado Publicado el · 17 de agosto de 2025

Selector de Color de Imagen Interactivo

Un componente interactivo que permite a los usuarios hacer clic en una imagen y obtener el valor del color en ese punto, perfecto para herramientas de diseño o fines educativos.

#image #color #picker #interactivo #canvas

Diseño Responsivo

Soporte para Modo Oscuro

líneas

221

Compatibilidad del Navegador

Chrome · Firefox · Safari · Edge

Vista Previa en Vivo

Interactúa con el componente sin salir de la página.

300px

Selector de Color de Imagen Interactivo

Este componente permite a los usuarios hacer clic en cualquier punto de una imagen para obtener el valor exacto del color en esa ubicación. Es perfecto para herramientas de diseño, aplicaciones educativas o cualquier proyecto donde los usuarios necesiten extraer colores de imágenes.

Características

  • Canvas Interactivo: Haz clic en cualquier lugar de la imagen para obtener valores de color
  • Visualización de Color en Tiempo Real: Muestra valores RGB y HEX instantáneamente
  • Indicador Visual: Destaca el punto seleccionado con un marcador
  • Diseño Responsivo: Funciona en diferentes tamaños de pantalla
  • Soporte Modo Oscuro: Se adapta a las preferencias del sistema de modo oscuro
  • Funcionalidad de Reinicio: Limpia fácilmente la selección actual

Uso

Para usar este componente:

  1. Incluye el HTML, CSS y JavaScript en tu proyecto
  2. El canvas está prellenado con una imagen de degradado de muestra (puedes reemplazar esto con cualquier imagen)
  3. Haz clic en cualquier lugar de la imagen para obtener el color en ese punto
  4. La información del color aparecerá en la sección de información
  5. Usa el botón Reiniciar para limpiar la selección

Detalles de Implementación

El componente usa la API de Canvas HTML5 para:

  1. Dibujar una imagen en el canvas
  2. Capturar eventos de clic y determinar las coordenadas del píxel
  3. Usar getImageData() para extraer los valores RGBA en ese píxel
  4. Convertir los valores RGB a formato HEX
  5. Mostrar la información del color al usuario

Personalización

Puedes personalizar los siguientes aspectos:

  • Fuente de Imagen: Reemplaza el degradado con cualquier imagen modificando la función drawImage()
  • Estilo del Indicador: Cambia la apariencia del marcador de selección
  • Visualización del Color: Modifica cómo se presenta la información del color
  • Diseño: Ajusta el diseño del contenedor y el comportamiento responsivo
  • Animaciones: Agrega transiciones o animaciones para interacciones más suaves

Compatibilidad del Navegador

Este componente usa Canvas HTML5 estándar y características modernas de JavaScript, compatibles en todos los navegadores modernos.

Mejoras

Para un entorno de producción, podrías considerar:

  1. Carga de Imágenes: Permitir a los usuarios cargar sus propias imágenes
  2. Historial de Colores: Mantener un historial de colores seleccionados
  3. Copiar al Portapapeles: Agregar botones para copiar valores RGB/HEX
  4. Paleta de Colores: Guardar colores seleccionados en una paleta
  5. Accesibilidad: Agregar navegación por teclado y etiquetas ARIA
  6. Soporte Táctil: Mejorar las interacciones táctiles para dispositivos móviles
// Ejemplo de mejora para carga de imágenes
document.getElementById('imageUpload').addEventListener('change', function(e) {
  const file = e.target.files[0];
  if (file) {
    const reader = new FileReader();
    reader.onload = function(event) {
      const img = new Image();
      img.onload = function() {
        // Dibujar imagen cargada en el canvas
        ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
      };
      img.src = event.target.result;
    };
    reader.readAsDataURL(file);
  }
});

Esta mejora permitiría a los usuarios analizar colores en sus propias imágenes.

HTML

16

líneas

CSS

99

líneas

JavaScript

106

líneas


                <div class="color-picker-container">
  <div class="image-section">
    <canvas id="imageCanvas" class="image-canvas"></canvas>
    <div id="colorIndicator" class="color-indicator"></div>
  </div>
  <div class="info-section">
    <div class="color-display">
      <div id="colorPreview" class="color-preview"></div>
      <div class="color-info">
        <p>RGB: <span id="rgbValue">-</span></p>
        <p>HEX: <span id="hexValue">-</span></p>
      </div>
    </div>
    <button id="resetBtn" class="reset-btn">Reiniciar</button>
  </div>
</div>

              
16líneas
547caracteres
HTMLIdioma

Compatibilidad del Navegador

Chrome

≥ 4

Firefox

≥ 3.5

Safari

≥ 3.1

Edge

≥ 12

Fragmentos de Código Relacionados

Explora packs de plantillas

¿Necesitas bloques más grandes? Descubre landings y colecciones de componentes.

Abrir la biblioteca de plantillas →