Пример #1
0
        public static string GetTimeText(int value, FrameRate frameRate)
        {
            int frameRateInt = (int)frameRate.GetAttribute <DefaultValueAttribute>().Value;
            int frame        = value % frameRateInt;
            int second       = value / frameRateInt;
            int minute       = second / 60;
            int hour         = minute / 60;

            second -= minute * 60;
            minute -= hour * 60;

            return($"{hour.ToString("00")}:{minute.ToString("00")}:{second.ToString("00")};{frame}");
        }
Пример #2
0
        public static TimeSpan FrameToTimeSpan(int frame, FrameRate frameRate)
        {
            int fr = (int)frameRate.GetAttribute <DefaultValueAttribute>().Value;

            return(TimeSpan.FromSeconds((int)Math.Truncate((double)frame / fr)) + TimeSpan.FromMilliseconds((1000 / fr) * (frame % fr)));
        }
Пример #3
0
        public static int TimeSpanToFrame(TimeSpan span, FrameRate frame)
        {
            int fr = (int)frame.GetAttribute <DefaultValueAttribute>().Value;

            return(((int)Math.Truncate((span.TotalMilliseconds / 1000)) * fr) + (int)(fr * ((span.TotalMilliseconds % 1000) / 1000)));
        }
Пример #4
0
 /// <summary>
 /// FrameRate가 가지고 있는 Int 값를 가져옵니다.
 /// </summary>
 /// <param name="frameRate"></param>
 /// <returns></returns>
 public static int ToInt32(this FrameRate frameRate)
 {
     return((int)frameRate.GetAttribute <DefaultValueAttribute>().Value);
 }