void display_images(IMAGE &clip_image, IMAGE &scaled_image) {
  ScrollView* clip_im_window;         //window for debug
  ScrollView* scale_im_window;        //window for debug
  inT16 i;

                                 // xmin xmax ymin ymax
  clip_im_window = new ScrollView ("Clipped Blob", editor_word_xpos - 20,
      editor_word_ypos - 100, 5 * clip_image.get_xsize (),
      5 * clip_image.get_ysize (), clip_image.get_xsize (),
      clip_image.get_ysize (), true);

  sv_show_sub_image (&clip_image,
    0, 0,
    clip_image.get_xsize (), clip_image.get_ysize (),
    clip_im_window, 0, 0);

  clip_im_window->Pen(255,0,0);
  for (i = 1; i < clip_image.get_xsize (); i++) {
    clip_im_window->SetCursor(i,0);
    clip_im_window->DrawTo(i, clip_image.get_xsize ());
  }
  for (i = 1; i < clip_image.get_ysize (); i++) {
    clip_im_window->SetCursor(0,i);
    clip_im_window->DrawTo(clip_image.get_xsize (),i);

  }

                                 // xmin xmax ymin ymax
  scale_im_window = new ScrollView ("Scaled Blob", editor_word_xpos + 300,
      editor_word_ypos - 100, 5 * scaled_image.get_xsize (),
      5 * scaled_image.get_ysize (), scaled_image.get_xsize (),
      scaled_image.get_ysize (), true);

  sv_show_sub_image (&scaled_image,
    0, 0,
    scaled_image.get_xsize (), scaled_image.get_ysize (),
    scale_im_window, 0, 0);

  scale_im_window->Pen(255,0,0);
  for (i = 1; i < scaled_image.get_xsize (); i++) {
    scale_im_window->SetCursor(i,0);
    scale_im_window->DrawTo(i, scaled_image.get_xsize ());
  }
  for (i = 1; i < scaled_image.get_ysize (); i++) {
    scale_im_window->SetCursor(0,i);
    scale_im_window->DrawTo(scaled_image.get_xsize (),i);
  }

  ScrollView::Update();
}
Esempio n. 2
0
void PDBLK::show(               //show image block
                 IMAGE *image,  //image to show
                 ScrollView* window  //window to show in
                ) {
  BLOCK_RECT_IT it = this;       //rectangle iterator
  ICOORD bleft, tright;          //corners of rectangle

  for (it.start_block (); !it.cycled_rects (); it.forward ()) {
                                 //get rectangle
    it.bounding_box (bleft, tright);
    //              tprintf("Drawing a block with a bottom left of (%d,%d)\n",
    //                      bleft.x(),bleft.y());
                                 //show it
    sv_show_sub_image (image, bleft.x (), bleft.y (), tright.x () - bleft.x (), tright.y () - bleft.y (), window, bleft.x (), bleft.y ());
  }
}
ScrollView* display_clip_image(WERD *word,                //word to be processed
                          IMAGE &bin_image,          //whole image
                          PIXROW_LIST *pixrow_list,  //pixrows built
                          TBOX &pix_box               //box of subimage
                         ) {
  ScrollView* clip_window;            //window for debug
  TBOX word_box = word->bounding_box ();
  int border = word_box.height () / 2;
  TBOX display_box = word_box;

  display_box.move_bottom_edge (-border);
  display_box.move_top_edge (border);
  display_box.move_left_edge (-border);
  display_box.move_right_edge (border);
  display_box -= TBOX (ICOORD (0, 0 - BUG_OFFSET),
    ICOORD (bin_image.get_xsize (),
    bin_image.get_ysize () - BUG_OFFSET));

  pgeditor_msg ("Creating Clip window...");
  clip_window = new ScrollView("Clipped Blobs",
    editor_word_xpos, editor_word_ypos,
    3 * (word_box.width () + 2 * border),
    3 * (word_box.height () + 2 * border),
    display_box.left () + display_box.right (),
    display_box.bottom () - BUG_OFFSET +
    display_box.top () - BUG_OFFSET,
    true);
  // ymin, ymax
  pgeditor_msg ("Creating Clip window...Done");

  clip_window->Clear();
  sv_show_sub_image (&bin_image,
    display_box.left (),
    display_box.bottom (),
    display_box.width (),
    display_box.height (),
    clip_window,
    display_box.left (), display_box.bottom () - BUG_OFFSET);

  word->plot (clip_window, ScrollView::RED);
  word_box.plot (clip_window, ScrollView::BLUE, ScrollView::BLUE);
  pix_box.plot (clip_window, ScrollView::BLUE, ScrollView::BLUE);
  plot_pixrows(pixrow_list, clip_window);
  return clip_window;
}