drawBoxes()

in web-app-demo/Frontend/src/app/components/processor-selection/processor-selection.component.ts [241:292]


  drawBoxes(context: CanvasRenderingContext2D, canvas: HTMLCanvasElement) {
    const data = this.documentProto;

    const drawClient = new DocumentAnnotation();

    switch (this.processor) {
      case "FORM":
        for (let i = 0; i < data.document.pages[0].formFields.length; i++) {
          drawClient.drawBoundingBoxes(
            context,
            canvas,
            data.document.pages[0].formFields[i].fieldName.boundingPoly,
            BLUE,
            "stroke",
            []
          );
          drawClient.drawBoundingBoxes(
            context,
            canvas,
            data.document.pages[0].formFields[i].fieldValue.boundingPoly,
            RED,
            "stroke",
            []
          );
        }
        break;
      case "OCR":
        for (let i = 0; i < data.document.pages[0].blocks.length; i++) {
          drawClient.drawBoundingBoxes(
            context,
            canvas,
            data.document.pages[0].blocks[i].layout.boundingPoly,
            ORANGE,
            "stroke",
            []
          );
        }
        break;
      case "INVOICE":
        for (let i = 0; i < data.document.entities.length; i++) {
          drawClient.drawBoundingBoxes(
            context,
            canvas,
            data.document.entities[i].pageAnchor.pageRefs[0].boundingPoly,
            BLUE,
            "stroke",
            []
          );
        }
        break;
    }
  }