![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сделать скриншот с видео изображения [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;