Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32

Отображение в PictureBox сначала видео, затем картинки

10.09.2013, 22:43. Показов 2727. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Пишу курсовую. В процессе понадобилась такая вот вещь..
Сначала открываю видео (с помощью DirectX) в PictureBox, затем его кадрирую (с помощью ffmpeg), сразу за этим должен открыться в этом же пикчербоксе первый кадр и с помощью уже сделанных кнопок я могу листать все кадры (все изображения, находящиеся в этой папке, если быть точнее).
Собственно, проблема: как бы я не пытался, после окончания видео, или же после нажатия на паузу или на стоп, в пикчербоксе висит тот кадр, на котором остановилось видео, а не то изображение, которое я загружаю.
Картинки гружу в пикчербокс корректно точно, так как если попробовать открыть любую картинку до того, как я включил в нём видео, всё работает отлично.
Буду очень признателен за оперативность, спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2013, 22:43
Ответы с готовыми решениями:

Получение картинки с сайта и ее отображение в PictureBox
мне надо чтобы после нажатия на кнопку моя прога получала картинки(.jpeg) с сайта и помещяла получаемие картинки одну за другой в...

Открытие картинки через OpenFileDialog и ее отображение в PictureBox
Добрый вечер!!! У меня возник следующий вопрос: в общем, в моей программе необходимо, чтобы при нажатии кнопки "Открыть"...

Отображение в pictureBox нужной картинки по выбору радиокнопки
На форме имеется 2 радиобаттона, при нажатии на которые в pictureBox появляется соответствующая картинка. Сделала так: private void...

4
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
11.09.2013, 14:32
Честно говоря без кода мало , что понятно. Но попробуйте вашему pictureBox применить метод Refresh. Например picturebox1.Refresh();
1
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
11.09.2013, 17:58  [ТС]
Цитата Сообщение от titans2011 Посмотреть сообщение
Честно говоря без кода мало , что понятно. Но попробуйте вашему pictureBox применить метод Refresh. Например picturebox1.Refresh();
Спасибо, но не помогло.. сейчас выложу скрин формы и код.

Добавлено через 8 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
private void button8_Click(object sender, EventArgs e)  //open image
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Title = "Открыть файл";
            dialog.Filter = "Файлы-изображения (*.jpg; *.jpeg; *.png; *.gif; *.bmp)|*.jpg; *.jpeg; *.png; *.gif; *.bmp|Все файлы (*.*)|*.*";
            DialogResult result = dialog.ShowDialog();
            ifilename = dialog.FileName;
 
            if (result == DialogResult.Cancel) return;
 
            pb1.SizeMode = PictureBoxSizeMode.Zoom;
            pb1.Image = new Bitmap(@ifilename);
        }
 
        private void button2_Click(object sender, EventArgs e)  //open video
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Title = "Открыть файл";
            dialog.Filter = "Видео файлы (*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v; *.wmv)|*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v; *.wmv|Все файлы (*.*)|*.*";
            DialogResult result = dialog.ShowDialog();
            vfilename = dialog.FileName;
 
            if (result == DialogResult.Cancel) return;
 
            create_video();
        }
private void create_video()
        {
            video = new Video(vfilename);
            video.Open(vfilename);
            video.Owner = pb1;
            dur = Convert.ToInt32(video.Duration);
 
            button1.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button7.Enabled = true;
        }
ну и вот, для примера, нажимаю Open video, воспроизвожу его, потом или оно само заканчивается, или же я на стоп или паузу давлю, оно останавливается. Я хочу вместо этого видео в этот же pictureBox запихнуть уже картинку, нажав на Open Image. Нажимаю, выбираю картинку, но она не открывается.. Если открыть эту же картинку, предварительно не открывая какое-либо видео, то всё гуд..
Миниатюры
Отображение в PictureBox сначала видео, затем картинки  
0
320 / 280 / 109
Регистрация: 27.09.2010
Сообщений: 1,058
11.09.2013, 18:12
Меня смущает строчка
C#
1
pb1.SizeMode = PictureBoxSizeMode.Zoom;
Возможно мешает заданный заранее масштаб, или картинка просто ноль по высоте и ширине.

попробуйте убрать с формы pictureBox , и каждый раз при открытии создавать программно pictureBox и размещать его на форме.
0
1 / 1 / 1
Регистрация: 05.09.2013
Сообщений: 32
11.09.2013, 19:40  [ТС]
Ну,
C#
1
pb1.SizeMode = PictureBoxSizeMode.Zoom;
это я добавил уже позднее, эта строка точно никак не влияет на проблему..
По поводу картинки, она точно нормальная, я ее из диалога выбираю. Я же говорю, если её же открыть до открытия видео, она прекрасно показывается..
Ну а по поводу создать пикчербокс в коде.. щас попробую)))

Добавлено через 11 минут
Неа, не работает, даже если через код создать PictureBox.
Я попробовал сделать кодом копию того пикчербокса, в котором открывал видео, старый бокс удалил, а новый добавил на форму, в нем уже открыл картинку, всё отлично работает.
Но тогда возникает проблема: если сначала открыть картинку (т.е. удалить первый пикчербокс), а затем попытаться открыть видео - естественно, вылезает ошибка, мол в чём ты меня хочешь открыть, ты же удалил сам только что мой пикчербокс...

Добавлено через 1 час 1 минуту
В общем, решил я проблему. надо было просто перед открытием картинки написать
C#
1
video.Dispose();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2013, 19:40
Помогаю со студенческими работами здесь

Отсортировать сначала отрицательные числа, затем положительные и затем ноль
Помогите, пожалуйста, составить программу сортировки массива, так, чтобы она сортировала сначала отрицательные числа, затем положительные и...

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

Переставить элементы массива так, чтобы сначала располагались все 0, затем 1, затем 2
Общие указания при составлении программ к данной теме: 1. Размер массива задать константой в блоке описания. 2. Массив заполнить...

В данной последовательности расположить сначала все отрицательные, затем положительные, затем нулевые элементы
Написать программу для решения следующей задачи : в данной последовательности расположить сначала все отрицательные, затем положительные...

Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки
Вывести на экран сначала цифры, затем буквы, затем остальные символы исходной строки. : a - указатель исходной стpоки


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru