Осталось реализовать алгоритм расчета времени прохода бегущей строки.
Ну формула примерно выглядит так:
((A + B + C) / V) /25
A - длина объявления в пикселах
B - размер региона под бегущую строку (свойство титровального элемета в FDTitleDesigner)
C - величина промежутка (свойство титровального элемета в FDTitleDesigner)
V - скорость (свойство титровального элемета в FDTitleDesigner)
25 - число кадров в системе PAL в одной секунде.
Другими словами сначала складывам все длины в пикселах (А + В + С). Затем все это делим на скорость (V) и получаем кадры. Затем кадры переводим в секунды (делением на 25)
Консольное приложение, умеет читать из конфигурационного файла параметры блока (те, которые в формуле - ширину блока, скорость, интервал), из одного текстового файла берет тексты объявлений, в другой складывает вычисленное время прохода объявления по блоку. Если интересно - могу прислать или куда-нить выложить.
Одно плохо - погрешность достигает 0,5 секунд. Точнее не погрешность, а отклонение значения, выдаваемого программой, от значения, получаемого в Title Designer'e. Отклонение всегда в большую сторону.
Одно плохо - погрешность достигает 0,5 секунд. Точнее не погрешность, а отклонение значения, выдаваемого программой, от значения, получаемого в Title Designer'e. Отклонение всегда в большую сторону.
Погрешность очень большая. Давайте разбираться. Как мы поняли у вас получается значение больше чем в FDTitleDesigner?
Присылайте свой титровальный проект + пример текстовго файла с объявлениями.
На самом деле ваша программа работает правильно. Просто вы неправильно интерпретируете результаты, которые видите в FDTitleDesigner.
К примеру вы пишите:
Для файла text1.spt:
в Title Designer - 13.06 с
в программе - 13.26 с
Но FDTitleDesigner показывает время в формате часы:минуты:секунды:кадры. А вы считаете, что в конце стоят доли секунд.
Берем 06 кадров. В секундах это 0,24 сек. У вас 0,26. Разница в 0,02 сек - это ваши ошибки с округлением.
Аналогично и для остальных присланных вами примеров.