Переместите точку автоматически, установив две координатные точки в C# - Winforms Visual Studio (Dynami c spot) - PullRequest
0 голосов
/ 19 марта 2020

Я разрабатываю приложение Winforms, которое позволяет пользователю выбирать видео для воспроизведения. Это видео - путь от основного входа в мой университет до судьбы, которую он выбирает (класс, лаборатория, кабинет профессора ...).

Теперь я хочу добавить, как небольшую карту с движущаяся красная точка , которая указывает местоположение видео каждый момент . Я уже создал «карту» с изображением строительного чертежа, а также нарисовал красную точку. Вы можете увидеть код:

    Graphics Grafico;
    Pen Lapiz = new Pen(Color.Red, 3);

//Planos es el nombre de la pictureBox donde se encuentra el plano del edificio
    private void Planos_Paint_1(object sender, PaintEventArgs e)
    {
        Grafico = e.Graphics;
        Grafico.DrawEllipse(Lapiz, Grafico.ClipBounds.Left + 174, Grafico.ClipBounds.Top + 123, 3, 3);
    }

Красная точка должна двигаться одновременно с видео. Кроме того, мы должны помнить, что видео может быть приостановлено, ускорено, перемотано ... пользователем, поэтому если видео останавливается, ускоряется или перематывается, точка тоже должна это делать .

Я думал, что, возможно, мне следует установить несколько координатных точек и указать точку, которая должна проходить через них, наблюдая за состоянием видео. Однако я не знаю, как это сделать.

Буду очень признателен, если кто-нибудь из вас сможет мне помочь. Я не очень разбираюсь в программировании.

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Возможно, вы можете рассмотреть возможность использования устройства записи макросов, такого как «Устройство записи макросов» (ранее «Устройство записи мыши». Запишите макрос движений мыши во время воспроизведения видео. Таким образом, вы получите координаты и время ожидания, чтобы заполнить файл данных. Конечно, скорость перемещения мыши требует немного больше, но если вы щелкнете по движению мыши в записанном макросе, вы получите длительность перемещения.

Продвинутый способ сделать это - кодирование функция записи самостоятельно, но я держу пари, что уже есть инструмент, который может помочь вам предоставить данные, необходимые для создания пути для вашей движущейся точки.

Макро-рекордер: https://www.mouserecorder.com/download.php

0 голосов
/ 19 марта 2020

Вы можете создать серию изображений с движущейся на карте точкой и объединить эти изображения в видео, используя ffmpeg или любой другой инструмент. Затем вы можете смешать оба видео с помощью инструмента редактирования видео в одно видео. При воспроизведении видео все будет двигаться в унисон. Теперь вопрос в том, как переместить точку так, чтобы она соответствовала видео. Вам нужно go вдоль видео, например, с регулярными интервалами в 1 секунду, и записать координаты на карте. Вы программируете точку для перемещения точки вдоль этих отрезков линий с постоянной скоростью, разбивая каждый отрезок на 30 или 60 с шагом и рисуя там точку. 30 и 60 выбраны для 30 кадров в секунду из 60 кадров в секунду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...