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.
Diseño Responsivo
Sí
Soporte para Modo Oscuro
Sí
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.
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:
- Incluye el HTML, CSS y JavaScript en tu proyecto
- El canvas está prellenado con una imagen de degradado de muestra (puedes reemplazar esto con cualquier imagen)
- Haz clic en cualquier lugar de la imagen para obtener el color en ese punto
- La información del color aparecerá en la sección de información
- Usa el botón Reiniciar para limpiar la selección
Detalles de Implementación
El componente usa la API de Canvas HTML5 para:
- Dibujar una imagen en el canvas
- Capturar eventos de clic y determinar las coordenadas del píxel
- Usar
getImageData()para extraer los valores RGBA en ese píxel - Convertir los valores RGB a formato HEX
- 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:
- Carga de Imágenes: Permitir a los usuarios cargar sus propias imágenes
- Historial de Colores: Mantener un historial de colores seleccionados
- Copiar al Portapapeles: Agregar botones para copiar valores RGB/HEX
- Paleta de Colores: Guardar colores seleccionados en una paleta
- Accesibilidad: Agregar navegación por teclado y etiquetas ARIA
- 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>
Compatibilidad del Navegador
Chrome
≥ 4
Firefox
≥ 3.5
Safari
≥ 3.1
Edge
≥ 12