Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/22: Рейтинг темы: голосов - 22, средняя оценка - 4.64
3 / 3 / 3
Регистрация: 26.09.2009
Сообщений: 100

Вывод видео

30.09.2010, 12:09. Показов 4617. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С внешнего устройства по USB покадрово вычитываю оцифрованное видеоизображение форматом 384х288 с частотой 50 к/сек. Необходимо вывести его на экран. Если просто попиксельно писать в Bitmap с отрисовкой в ImageBox, то не хватает скорости плюс мерцание. Раньше писал на Delphi и пользовался TImage.Picture.Bitmap.ScanLine и т.п. Подскажите с чего начать в C#?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.09.2010, 12:09
Ответы с готовыми решениями:

Захват и передача видео по сети ?(Видео есть , нету передачи)
Нужно реализовать захват видео с веб камеры и передача его по сети. (НАпример телемост). 1) Захват видео с веб камеры есть 2) НЕ могу...

Видео плеер, возможность замедлять видео
Главные, что мне нужно, это возможность замедлять видео Щас пользуюсь библиотекой DirectX, но там все тормазнуто, есть у кого примеры...

Работа с видео на youtube, нужен массив [ссылка на видео, название видео]
Собственно с одной стороны есть экселевский документ с номерами, с другой стороны канал на ютубе. Задача прочитать все названия видео на...

6
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
30.09.2010, 13:53
Из MSDN
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
private void LockUnlockBitsExample(PaintEventArgs e)
    {
 
        // Create a new bitmap.
        Bitmap bmp = new Bitmap("c:\\fakePhoto.jpg");
 
        // Lock the bitmap's bits.  
        Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);
        System.Drawing.Imaging.BitmapData bmpData =
            bmp.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWrite,
            bmp.PixelFormat);
 
        // Get the address of the first line.
        IntPtr ptr = bmpData.Scan0;
 
        // Declare an array to hold the bytes of the bitmap.
        int bytes  = bmpData.Stride * bmp.Height;
     byte[] rgbValues = new byte[bytes];
 
        // Copy the RGB values into the array.
        System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes);
 
        // Set every third value to 255. A 24bpp bitmap will look red.  
        for (int counter = 2; counter < rgbValues.Length; counter += 3)
            rgbValues[counter] = 255;
 
        // Copy the RGB values back to the bitmap
        System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes);
 
        // Unlock the bits.
        bmp.UnlockBits(bmpData);
 
        // Draw the modified image.
        e.Graphics.DrawImage(bmp, 0, 150);
 
    }
0
3 / 3 / 3
Регистрация: 26.09.2009
Сообщений: 100
30.09.2010, 15:31  [ТС]
Спасибо, работает, только как убрать мерцание???
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
30.09.2010, 15:56
Двойной буферизацией
0
3 / 3 / 3
Регистрация: 26.09.2009
Сообщений: 100
30.09.2010, 16:26  [ТС]
Если вывожу на форму, то DoubleBuffered = true для самой формы почему-то не помогает, а для Panel или ImageBox - это что ли надо наследовать класс и переопределять конструктор???
Можно примерчик...
0
90 / 89 / 13
Регистрация: 28.09.2010
Сообщений: 262
30.09.2010, 16:29
C#
1
2
3
4
5
6
7
8
BufferedGraphicsContext currentContext;
BufferedGraphics myBuffer;
currentContext = BufferedGraphicsManager.Current;
myBuffer = currentContext.Allocate(this.CreateGraphics(),
   this.DisplayRectangle);
myBuffer.Graphics.Draw ......
myBuffer.Render();
myBuffer.Dispose();
У формы должен быть выставлен DoubleBuffered = true
0
3 / 3 / 3
Регистрация: 26.09.2009
Сообщений: 100
30.09.2010, 16:39  [ТС]
Спасибо огромное всё заработало!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2010, 16:39
Помогаю со студенческими работами здесь

Вывод видео OpenGL
Доброго всем времени суток! Суть такова - мне нужно захватить видео с вебкамеры, обработать и вывести при помощи OpenGL. Для захвата...

Вывод видео на форму
Здравствуйте хочу вывести на winForm видео с ip камеры, где можно почитать, посмотреть примеы, подскажите пожалуйста.

Вывод видео в разделе каталога через код видео youtub
Здравствуйте! Существует каталога, в нем разделы, в разделах элементы. В описании раздела есть текстслева и картинки в правой колонке....

У меня выбивает ошибку при запуске видео: "вывод видео недоступен не найдена программа распаковки 'vids:div3'
программа &quot;видео плеер&quot; Кто знает подскажите, и если нужен код проги то я вышлю,

Вывод видео из бд на сайт
Всем привет! Такой вопрос, создаю сайт, мне нужно вывести на странице сайта несколько видео, как это правильно сделать? Я хотел ссылку на...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru