Witam,
mam nastepujacy problem, mianowicie przy pomocy komponentu mediaplayer wyswietlam filmik i chcialbym moc w danym momencie widoczna klatke zapisac do bitmapy aby poddac ja dalszej analizie.
Szukalem w internetach jednak moje umiejetnosci poszukiwacza nie przyniosly efektow spelniajacych oczekiwania, dlatego zalozylem ten watek z mysla o kims kto mial z tym do czynienia albo wie jak uporac sie z tym zlem.
Właściwie to jest kilka różnych sposobów, Borland jest trochę stary bez magii chyba tego nie wspiera.
Ale jakbyś z mediaplayer pobrał położenie odtwarzanego filmu w czasie pauzy, mediaplayer->length lub frame i za pomocą biblioteki ffmpeg lub jakiegoś AVIfile zależnie jaki format wyexportował sobie klatkę z danego pliku.
@AmatorCpp: zawsze możesz pobrać uchwyt pulpitu i skopiować fragment ekranu (w którym wyświetlony jest film) do pomocniczej zmiennej. Dosłownie kilka linijek kodu.
Taki dumping screena z pulpitu zmniejszy jakość jeśli zostanie przeskalowane przez rozdzielczość w jakiej będzie wyświetlane, tzn rozmiaru okna, a bezpośredniu z pliku dostaniesz absolutną rozdzielczość w jakiej to było nagrane.
Zakręcony Kaczor napisał(a):
Taki dumping screena z pulpitu zmniejszy jakość jeśli zostanie przeskalowane przez rozdzielczość w jakiej będzie wyświetlane […]
Nie problem wyświetlić film w odpowiedniej rozdzielczości. W razie czego różne gotowce są tutaj. Jeśli komuś zależy na wygodnym i profesjonalnym rozwiązaniu to powinien się zainteresować konkretnymi bibliotekami do obsługi multimediów.
Dzieki za odpowiedzi, teraz juz wiem ze obralem jedna z gorszych siezek :)
Polecacie opencv czy jakies inne ustrojstwo?
a jak by tak wyświetlać poza ekranem?
@Uczynny Kot: w jakim celu?
Da rade OpenCv tu masz wrapera pod delphi https://github.com/Laex/Delphi-OpenCV