Witam :)
Szukam sposobu na przechwycenie obrazu puszczanego w danej chwili przez VMR 9 (lub w ogóle przez DirectX - tzn. leci jakiś film) i zrobienie z tego obrazu Print Screena do pliku BMP. Posiada ktoś może skuteczny sposób?
Pozdrawiam :d
Witam :)
Szukam sposobu na przechwycenie obrazu puszczanego w danej chwili przez VMR 9 (lub w ogóle przez DirectX - tzn. leci jakiś film) i zrobienie z tego obrazu Print Screena do pliku BMP. Posiada ktoś może skuteczny sposób?
Pozdrawiam :d
Niewykonalne [???]
Uzupełnię opis o informację, że nie zależy mi na ciągłości odtwarzania - skutki działania mogą być widoczne (np.: zarwanie. pauza, czy czarny ekran na chwilę). Chodzi o samą możliwość zrobienia zrzutu z tego co odtwarza konkretna aplikacja. Chodzi mi dokładnie o program AltDVB (do obsługi karty DVB-PCI). Brakuje mu porządnego modułu do robienia screenshotów. Wiem, że do odtwarzania wykorzystuje coś o nazwie TVideoPanel...
Help [glowa]
Masz Ty problem Ci powiem :-)
Do rzeczy,mozesz zrobic PrintScreena w Pascalu,ja znam metode z przerwaniamia BIOS'u/DOSa ktore to umozliwiaja [green]
zapraszam na stronke http://81.26.5.254/Members/rtomaszewski/dzienne/systemy-operacyjne
zapoznaj sie z laborkami,jesli Ci za malo to: http://81.26.5.254/Members/achrobot/systemy-operacyjne
ps. nawet gdzies mam chyba taki program,tylko jest jedna niepewna,czy bedzie robic PrtSc podczas odtwarzania filmu :/ pozdrawiam
Sam Print Screen sprawy nie załatwi, bo zescreenowany musi być tylko obszar, gdzie leci obraz (do tego najlepiej w takiej rozdzielczości jak jest podawany do VMR, czyli przykładowo 720x576 (nawet jeśli na ekranie jest inaczej rozciągnięty, bo ktoś rozciągnął okno programu)...
Brak mi koncepcji jak to zachaczyć [glowa] Jest tu jakiś spec od DS Pack? Może z jego pomocą można na ułamek sekundy przejąć odtwarzanie i wykonać całą operację [???]
Każdy pomysł mile widziany... ;-)
Operacja którą chcesz zaimplementować nazywa się przejmowaniem nakładki (overlay capturing). Ogólnie jest dosyć skomplikowana, było o tym kilkakrotnie na forum. Innym wyjściem jest całkowite wyłączenie akceleracji sprzętowej, ale przy próbie przejęcia obrazu z gry ta opcja odpada.
P.S. O przerwaniach BIOS/DOS zapomnij, nie te czasy; a i system operacyjny Cię do nich nie dopuści. Ktoś, kto o tym pisze, nie zna się na rzeczy, albo uczył się na Win9x - te rzeczy już dawno nie są aktualne.
O właśnie - ta nazwa się przyda, bo nie za bardzo wiedziałem jak to określić po angielsku - dzięki - będę szukać :-)
Co do drugiej opcji, akurat w moim wypadku sprawa dotyczy tylko i wyłącznie streamu audio/video odtwarzanego z karty DVB-PCI, więc teoretycznie też wchodzi to w grę, ale czy chodzi tu o trwałe wyłączenie, czy da radę zrobić to dynamicznie (tzn. wyłączyć, screen, włączyć).
PS: Jednym i drugim sposobem otrzymam obraz o rozdzielczości zgodnej z pierwotną, rozciągnięty, ale z zachowanymi proporcjami, czy zdeformowany (w zależności od tego jak sobie użytkownik programu porozciągał okno)?
Jeszcze raz dzięki za pomoc [browar]