Beispiel #1
0
//---------------------------------------------------------
void __fastcall CEVision::DrawAll(HDC hDC)
{
        TCanvas *tempCanvas = new TCanvas;
        tempCanvas->Handle=hDC;

       m_ImageTmpBW8.Draw(tempCanvas->Handle,m_dScaleSizeX,m_dScaleSizeY);
       tempCanvas->Pen->Width=2;
       tempCanvas->Pen->Style=psSolid;
       tempCanvas->Pen->Color= clRed;

       if(m_bShowLayout)
          for(int nIndex=0;nIndex<m_vectRect.size();nIndex++)
          {
                tempCanvas->FrameRect(Rect(m_vectRect[nIndex].Left*m_dScaleSizeX,m_vectRect[nIndex].Top*m_dScaleSizeY,
                        m_vectRect[nIndex].Right*m_dScaleSizeX,m_vectRect[nIndex].Bottom*m_dScaleSizeY));
                tempCanvas->TextOutA( m_vectRect[nIndex].left*m_dScaleSizeX, m_vectRect[nIndex].top*m_dScaleSizeY ,IntToStr(nIndex+1));
          }

        for(int nIndex=0;nIndex<3;nIndex++)
        {
                tempCanvas->Pen->Color= clRed;
                if(m_bShowMarkROI[nIndex]) m_roiMark[nIndex].DrawFrame(tempCanvas->Handle,E_FRAME_ON, TRUE,m_dScaleSizeX,m_dScaleSizeY);

                tempCanvas->Pen->Color= clLime;
                if(m_bShowPatternROI[nIndex]) m_roiMarkPattern[nIndex].DrawFrame(tempCanvas->Handle,E_FRAME_ON, TRUE,m_dScaleSizeX,m_dScaleSizeY);

                if(m_bShowMatchResult[nIndex]) m_markMatch[nIndex].DrawPositions(tempCanvas->Handle,m_dScaleSizeX,m_dScaleSizeY);
        }
       
       if(m_bShowMatchResultAll)
       for(int nIndex=0;nIndex<m_vectPattern.size();nIndex++)
       {
               m_vectPattern[nIndex].DrawPositions(tempCanvas->Handle,m_dScaleSizeX,m_dScaleSizeY);
       }

       if(m_bShowMarkROI[2])
       {
        tempCanvas->Pen->Width=1;
        tempCanvas->Pen->Style=psDot;
        tempCanvas->Pen->Color=clRed;

        tempCanvas->MoveTo(320*m_dScaleSizeX,230*m_dScaleSizeY);
        tempCanvas->LineTo(320*m_dScaleSizeX,250*m_dScaleSizeY);
        tempCanvas->MoveTo(310*m_dScaleSizeX,240*m_dScaleSizeY);
        tempCanvas->LineTo(330*m_dScaleSizeX,240*m_dScaleSizeY);
        }



       delete tempCanvas;
}