Пример #1
0
        private void DisplayCurrentFrame(MovementType movementType)
        {
            if (m_VideoStream != null)
            {
                if (m_CurrentFrameIndex > m_VideoStream.LastFrame)
                {
                    m_CurrentFrameIndex = m_VideoStream.LastFrame;
                }
                if (m_CurrentFrameIndex < m_VideoStream.FirstFrame)
                {
                    m_CurrentFrameIndex = m_VideoStream.FirstFrame;
                }

                Pixelmap currentBitmap = null;

                if (m_FrameIntegration == FrameIntegratingMode.NoIntegration || !m_VideoStream.SupportsSoftwareIntegration)
                {
                    currentBitmap = m_VideoStream.GetPixelmap(CurrentDirectionAwareFrameIndex);
                }
                else if (m_FrameIntegration == FrameIntegratingMode.SlidingAverage)
                {
                    currentBitmap = ProduceRunningAverageIntegratedFrame(m_CurrentFrameIndex);
                }
                else if (m_FrameIntegration == FrameIntegratingMode.SteppedAverage)
                {
                    currentBitmap = ProduceBinningIntegratedFrame(m_CurrentFrameIndex);
                }
                else
                {
                    throw new NotSupportedException();
                }

                string frameFileName = m_VideoStream.SupportsFrameFileNames ? m_VideoStream.GetFrameFileName(CurrentDirectionAwareFrameIndex) : null;

                DisplayCurrentFrameInternal(movementType, currentBitmap, frameFileName);
            }
        }
Пример #2
0
 public string GetFrameFileName(int index)
 {
     return(m_Video.GetFrameFileName(index));
 }