Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Кто-нибудь откроет секрет PowerDVD   Найти похожие ветки 

 
AbrosimovA ©   (2006-08-03 15:19) [0]

Каким-образом он делает скриншоты Видеоокна или оверлея?
Может у кого есть готовый способ в коде Дельфи.


 
antonn ©   (2006-08-03 15:51) [1]

подойдет и обычный способ "скриншотирования"


 
Cash ©   (2006-08-03 20:15) [2]

antonn ©   (03.08.06 15:51) [1]:
Нет, этот метод не подходит, т. к. при аппаратном ускорении кадр не
рисуется на поврхности.


 
Sitr   (2006-08-03 20:34) [3]

Хм надо наверное с видюхой работать, была у меня такая проблема, но не помню что с ней делал... :(


 
NailMan ©   (2006-08-03 22:17) [4]

ISampleGrabber спасет отца руской демократии. Только так и делается. Описание как пользовать с примером - в DX SDK, а точнее в .CHM файле!


 
antonn ©   (2006-08-04 07:37) [5]

Cash ©   (03.08.06 20:15) [2]
Нет, этот метод не подходит, т. к. при аппаратном ускорении кадр не
рисуется на поврхности.

можно этот код?


 
antonn ©   (2006-08-04 08:06) [6]

а, хотя, ладно...
var DC:HDC; BM:TBitmap;
begin
BM:=TBitmap.Create;
try
BM.Width:=screen.Width;
BM.Height:=screen.Height;
DC:=GetDC(0);
BitBlt(BM.Canvas.Handle,0,0,BM.Width,BM.Height,DC,0,0,SrcCopy or $40000000);
ReleaseDC(0,DC);
BM.SaveToFile("c:\1.bmp");
finally
bm.Free;
end;


 
Sitr   (2006-08-04 19:25) [7]

2antonn
А у тебя это работает?
Например видио тоже ловит? у меня вот почему то так не работало


 
antonn ©   (2006-08-05 04:29) [8]

Sitr   (04.08.06 19:25) [7]
у повер-двд нет, у mplayer2.exe ловит. Также ловит все прозрачные окна.


 
AbrosimovA ©   (2006-08-07 08:44) [9]


> NailMan ©   (03.08.06 22:17) [4]
> ISampleGrabber спасет отца руской демократии.


Не спасает, так как не работает при воспроизведении DVD.

Если *.avi, граф следующий :
File Source (Async)->AVI Splitter->SampleGrabber->ffdshow MPEG-4 Video Decoder->Overlay Mixer->Video Renderer, в этом случае SampleGrabber работает.

Если *.ifo (DVD), граф следующий :
DVD Navigator->SampleGrabber->Nero Video Decoder->Overlay Mixer2->Video Renderer, в этом случае SampleGrabber почему-то не работает.

В обоих случаях использую следующий код:

if not SavePictureDialog1.Execute then Exit;
Bmp:=TBitmap.Create;
try
 if SampleGrabber1.GetBitmap(Bmp) then
  Bmp.SaveToFile(SavePictureDialog1.FileName);
finally
 Bmp.Free
end;


 
AbrosimovA ©   (2006-08-07 09:59) [10]

Также в обоих случаях использую следующие настройки для граббёра:      
Major type: Automatic;
Sub type: MPEG2_VIDEO;
Format type: VideoInfo.


 
NailMan ©   (2006-08-07 10:36) [11]

Правильно, потому что SampleGrabber внедряется сразу перед рендерером, так как ему на вход подается итоговая картинка выводящаяся на экран. ;-)

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


 
AbrosimovA ©   (2006-08-07 10:56) [12]


> Правильно,

А что из вышесказанного правильно?


 
AbrosimovA ©   (2006-08-07 11:28) [13]


> antonn ©   (04.08.06 08:06) [6]


Твой код работает, если VideoWindow.Mode:=vmVMR;
Но Overlay Mixer не хочет соединяться с VideoWindow, если включён VMR режим, только если VideoWindow.Mode:=vmNormal.



Страницы: 1 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.032 c
15-1173560855
Kerk
2007-03-11 00:07
2007.04.08
Кто по какой причине стал программистом?


2-1174159453
Malik
2007-03-17 22:24
2007.04.08
Как можно узнать какие папки находяться в определённом каталоге


3-1169047570
ПВ
2007-01-17 18:26
2007.04.08
Проблемы BDE+Paradox под терминальным сервером


1-1171611476
sia
2007-02-16 10:37
2007.04.08
F1Book печатает не на тот принтер, что я указываю


15-1173771438
Riply
2007-03-13 10:37
2007.04.08
Образ системного диска.