Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

153
Visualizações
Cómo ignorar los perfiles de color PNG cuando el usuario carga una imagen

En algunos navegadores, como Firefox, cuando carga una imagen en una página con FileReader, los colores exactos de los píxeles de la imagen son incorrectos. Esto se debe a un "error" conocido/ignorado con Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1396587

Se carga usando un FileLoader:

 const fileList = this.files; const reader = new FileReader(); reader.onload = function () { img.onload = ()=> { //place image on canvas so we can getImageData let canvas = document.createElement('canvas'); let ctx = canvas.getContext('2d'); let img = $(".mapDataPreview"); canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); let pixel = ctx.getImageData(0, 0, 1, 1).data; console.log('pixel data', pixel); } img .src = reader.result; }; reader.readAsDataURL(mapDataFile);

Si cargo la imagen usando Chrome, generalmente lee los colores correctamente: los valores RGB que obtengo de getImageData() coinciden con los valores de píxeles reales en el archivo de imagen, si lo abro en un editor de imágenes como Photoshop o Paint.

Si cargo la imagen en Firefox y tiene un perfil de color adjunto (que algún software coloca automáticamente allí), ocasionalmente los colores de los píxeles estarán ligeramente apagados, por ejemplo:

photoshop: #ff0000 | chrome: [255,0,0] | firefox: [254,0,0]

Con frecuencia necesito tomar colores de las imágenes, y esto causa muchos problemas cuando los datos de color que obtengo del navegador no coinciden con la imagen que cargó el usuario.

Hay una especie de solución: si uso pngcrush en la imagen antes de cargarla, muestra los colores adecuados cuando se carga, incluso en Firefox. (Supongo que pngcrush descarta estos perfiles de color)

Desafortunadamente, no puedo usar pngcrush en el navegador, y obligar a las personas a usar Chrome para usar mi sitio web es ridículo.

¿Alguien puede encontrar una solución/truco para evitar este error y obtener los colores de píxeles reales de la imagen que carga un usuario?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda