/************************** 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); } }
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; } } } }