Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
Cálculo de parte del área dentro de la zona. Tela.js/Canvas

Tengo un área (en este caso, el área de la cocina con bordes amarillos), dentro de esta área hay otras formas (numeradas 1 y 2 de color azul claro) que dividen el área de la cocina en varias partes (A, B, C). Necesito calcular por separado el área de cada parte verde.

ingrese la descripción de la imagen aquí

Uso un trabajador js para calcular el área de la zona azul y verde (en total). Pero necesito calcular de alguna manera estas zonas verdes divididas por separado. Para calcular el área, uso getImageData() donde obtengo píxeles de toda el área de la cocina. Luego hago un bucle en los píxeles y filtro. Dependiendo del color del píxel, lo agrego al resultado del área de la zona azul o verde.

¿Existen soluciones listas para usar en Fabric.js o Canvas para contar una parte de una zona en otra zona? Si no, ¿tienes alguna idea de cómo implementarlo?

Aquí hay una pequeña pieza de código con un ciclo de píxeles:

 calculateCoverage: function (options) { options.oversampling = options.oversampling || 1; var result = {}, pixel = new app.Color(), oversamplingArea = Math.pow(options.oversampling, 2), pixelCoverage, value, i; for (i = 0; options.imageData && i < options.imageData.data.length; i += 4) { pixel.x = options.imageData.data[i]; pixel.y = options.imageData.data[i + 1]; pixel.z = options.imageData.data[i + 2]; pixel.a = options.imageData.data[i + 3]; // Apply binary filtering to the pixel value. pixel.filter(app.Color.BinaryFilter).filter(app.Color.BinaryFilterAlpha); // Ignore low alpha pixels. if (!pixel.a) { continue; } pixelCoverage = this.getPixelCoverageType(pixel, options.types); value = pixel.a / 255 / oversamplingArea; if (!result[pixelCoverage]) { result[pixelCoverage] = 0; } // Iterate pixel coverage data. result[pixelCoverage] += value; } return result; }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda