Eksportuj każdą klatkę jako obraz z pliku filmu (QuickTime-API)
Chcę otworzyć istniejący plik filmowy i wyeksportować każdą klatkę tego pliku do obrazu takiego jak JPEG lub TIFF. Dotarłem tak daleko do teraz:
int main(int argc, char* argv[]) {
char filename[255]; // Filename to ping.
OSErr e; // Error return.
FSSpec filespec; // QT file specification
short filemovie; // QT movie handle.
Movie movie; // QT movie "object".
InitializeQTML(0);
EnterMovies();
// Because of QT's Mac origin, must convert C-string filename
// to Pascal counted string, then use that to make a filespec.
c2pstr(filename);
FSMakeFSSpec(0, 0L, (ConstStr255Param)filename, &filespec);
OpenMovieFile(&filespec, &filemovie, fsRdPerm);
NewMovieFromFile(&movie, filemovie, nil, nil, newMovieActive, nil);
...
Do tej pory działa dobrze (testowałem zTimeValue movietime = GetMovieDuration(movie);
i wydrukuj go), ale teraz chcę uzyskać każdą klatkę filmu i wyeksportować ją do pliku (po pierwsze, chcę po prostu zachować dane w pamięci do pracy z tym, ale muszę wiedzieć, czy to naprawdę działa , więc eksport do pliku obrazu jest na razie lepszy).
Jak mogę to zrobić? Czy potrzebuję GWorld lub PixMap? Jak uzyskać GWorld / PixMap z pliku filmowego, zwłaszcza każdej klatki?
edytować: Moja platforma to WinXP