Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сделать скриншот с видео изображения [D6, Win95/98, Win2k]


Viktor Kushnir ©   (2002-08-11 08:36:00) 

Само изображение генерится с помощью TMediaPlayer, там же устанавливаю Display := Panel1;
Дайте примерчик, как делаются скриншоты. Можно на си, потому как, я все равно не нашел в сурсах Дельфей нуждых типов, сообщений, функций.


Star   (2002-08-16 16:40:00) [1]

Как что-нить нароешь - сообщи, мне тоже интересно...


Jeer   (2002-08-16 16:11:00) [2]

Правильнее все это делается через DirectX.
Поищи такие примеры


Viktor Kushnir   (2002-08-16 09:22:00) [3]

Ясненко, в принципе я могу получить и указатель на MCIDevice и на дисплей, я думаю большего и не надо. Пойду искать исходник. Спасибо.


star   (2002-08-16 00:23:00) [4]

Насколько я понимаю, все дело в том, в каком режиме работает медиаплеер. Если режим Overlay - то кадры выводятся непосредственно в память видюхи, и скриншот будет выдавать пустое место. Но вот как переключить эту гадость на нормальный вывод - не знаю.
По-юзерски, в медиаплеере это устанавливается в настройках кодека, а программно - большой трабл.
Кроме того, на www.sources.ru в разделе дельфов был пример захвата видео, так вот там была возможность сделать снимок. Только как это применить к медиаплееру - не знаю ...


vitandr   (2002-08-15 09:59:00) [5]

на torry.net валялись дельные компоненты для снятия скриншотов
с видео


Viktor Kushnir   (2002-08-15 09:19:00) [6]

Установка паузы перед попыткой сделать скриншот не помогает.
И как быть? Тут никто не знает?


Viktor Kushnir   (2002-08-14 08:48:00) [7]

В общем дело обстоит так. Временами работает, временами нет. Хотя тут совсем странное, так как зависемсти нет - то картинка, то пустая.
И еще, когда не работает я получаю не черный экран, а такую темную, почти черную пелену видно только если яркость картинке сильно добавить.
Может это как-то связано с отресовкой изображения и я получаю еще не нарисованное до конца?


DiamondShark   (2002-08-13 22:00:00) [8]

А вы обязательно напишите, сработало или нет.
У меня работало.


Viktor Kushnir   (2002-08-13 08:36:00) [9]

ну если это сработает, я буду сильно удивлен.
если ижу системный PrintScreen не работает....


DiamondShark   (2002-08-12 12:02:00) [10]

procedure TForm1.Button1Click(Sender: TObject);
var
B: TBitmap;
PanelDC: HDC;
W, H : integer;
begin
W := Panel1.ClientWidth;
H := Panel1.ClientHeight;
PanelDC := GetDC(Panel1.Handle);
B := TBitmap.Create;
B.Width := W;
B.Height := H;
BitBlt(B.Canvas.Handle, 0, 0, W, H, PanelDC, 0, 0, SRCCOPY);
ReleaseDC(Panel1.Handle, PanelDC);
Image1.Picture.Bitmap := B;
B.Free;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо