Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

245
Views
Convertir imagen almacenada en búfer en node.js a datos de píxeles

Me gustaría convertir una respuesta de imagen almacenada en búfer, desde una solicitud de recuperación realizada, a datos de imagen o datos de píxeles, generalmente almacenados en un Unit8ClampedArray como lo demuestra la API de Canvas. Dado que puedo convertir el búfer a base64 y devolver un URI de datos que se puede usar para ver la imagen, creo que debería ser posible lograr mi objetivo; sin embargo, no pude encontrar nada en línea.

Esperaba que la respuesta del búfer estuviera en el orden correcto, 4 elementos de matriz por píxel: rgba; sin embargo, como estoy seguro de que puedes darte cuenta, no es tan fácil.

Estos son los datos de imagen a los que me refiero:

 let imageData = new ImageData(100, 100); console.log(imageData.data); // Uint8ClampedArray[40000] console.log(imageData.data.length); // 40000

Me faltaban innumerables píxeles, o tal vez no estaban en el orden correcto. El resultado no era lo que yo quería ni se parecía en nada a la imagen que se suponía que debía mostrar.

Aquí hay una parte de mi código para ayudarlo a comprender mejor mis problemas:

 async drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight) { image = await RequestHandler.ajax(image, { headers: { "content-type": "image/png" } }); const imageData = new Uint8ClampedArray(image); const pixels = []; for (let i = 0; i in imageData; i += 4) { const average = (imageData[i] + imageData[i + 1] + imageData[i + 2]) / 3; if (average < 130) { // black; pixels.push(0); } else if (average < 210) { // gray #aaa pixels.push(170); } else { // white pixels.push(255); } } }
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!