Example #1
0
/**************************  dibuja_analisis_linea  ************************
   Función para mostrar los valores de nivel de gris obtenidos en el análisis
   de la línea.
*****************************************************************************/
void dibuja_analisis_linea(BYTE val_pixel[], int linea, int altoImagen, int anchoImagen)
{
	int i;
	
	if (linea == L_HORIZ)  {
		MgraColor(M_DEFAULT, AMARILLO_OSC);
		//	Represento el corte horizontal
		for (i = 0; i < anchoImagen; i++)
			MgraLine(M_DEFAULT, M_overlay_normal, i, altoImagen, i, altoImagen - val_pixel[i]);

		sendcont("Pulse una tecla para continuar.");	// Borro la línea anterior.
		getch();
	
		//	Borro el corte horizontal
		MgraColor(M_DEFAULT, TRANSPARENTE);
		for (i = 0; i < altoImagen; i++)
			MgraLine(M_DEFAULT, M_overlay_normal, i, altoImagen, i, altoImagen - val_pixel[i]);
	}
	if (linea == L_VERT)  {
		
		//	Represento el corte vertical
		MgraColor(M_DEFAULT, AMARILLO_OSC);
		for (i = 0; i < altoImagen; i++)
			MgraLine(M_DEFAULT, M_overlay_normal, 0, i, 0 + val_pixel[i], i);

		sendcont("Pulse una tecla para continuar.");		// Borro la línea anterior.
		getch();
		
		//	Borro el corte vertical
		MgraColor(M_DEFAULT, TRANSPARENTE);
		for (i = 0; i < altoImagen; i++)
			MgraLine(M_DEFAULT, M_overlay_normal, 0, i, 0 + val_pixel[i], i);
	}
}
Example #2
0
void MdispGtkView::GraphicsAnnotations( bool on )
   {
   if(m_MilDisplay)
      {
      m_isGraphicsAnnotationsEnabled = on;
      
      if(m_isGraphicsAnnotationsEnabled)
         {
         if(!m_MilGraphContext && !m_MilGraphList)
            {
            MIL_INT BufSizeX  = 0, BufSizeY = 0;
            MIL_INT LogoCellSize = 12;
            MIL_INT LogoSize  = 6 * LogoCellSize;
            MIL_INT Offset    = 10;

            MgraAlloc(((MdispGtkApp*)dispGtkApp())->m_MilSystem, &m_MilGraphContext);
            MgraAllocList(((MdispGtkApp*)dispGtkApp())->m_MilSystem, M_DEFAULT, &m_MilGraphList);
            MdispControl(m_MilDisplay, M_DISPLAY_GRAPHIC_LIST, m_MilGraphList);

            MdispControl(m_MilDisplay, M_UPDATE_GRAPHIC_LIST, M_DISABLE);
            MbufInquire(m_MilImage, M_SIZE_X, &BufSizeX);
            MbufInquire(m_MilImage, M_SIZE_Y, &BufSizeY);

            MgraClear(m_MilGraphContext, m_MilGraphList);

            GraphicLogo(Offset                 , Offset           , LogoCellSize);
            GraphicLogo(BufSizeX - (LogoSize/2), Offset           , LogoCellSize);
            GraphicLogo(Offset                 , BufSizeY + Offset, LogoCellSize);

            MgraColor(m_MilGraphContext, M_COLOR_LIGHT_BLUE);
            MgraLine(m_MilGraphContext, m_MilGraphList, Offset + (LogoSize/2), Offset + LogoSize, Offset + LogoSize/2, BufSizeY + Offset);
            MgraLine(m_MilGraphContext, m_MilGraphList, Offset + LogoSize,  Offset + (LogoSize/2), BufSizeX - (LogoSize/2), Offset + (LogoSize/2));

            MgraColor(m_MilGraphContext, M_COLOR_GRAY);
            MgraText(m_MilGraphContext, m_MilGraphList, Offset, (2*Offset)+LogoSize, MT("Mil Graphic"));
            MgraText(m_MilGraphContext, m_MilGraphList, Offset, (4*Offset)+LogoSize, MT("Annotations"));

            MdispControl(m_MilDisplay, M_UPDATE_GRAPHIC_LIST, M_ENABLE);
            }
         }
      else
         {
         MdispControl(m_MilDisplay, M_DISPLAY_GRAPHIC_LIST, M_NULL);
         
         if(m_MilGraphList)
            {
            MgraFree(m_MilGraphList);
            m_MilGraphList = M_NULL;
            }
         if(m_MilGraphContext)
            {
            MgraFree(m_MilGraphContext);
            m_MilGraphContext = M_NULL;
            }
         }
      }
   }