rejestrowanie obrazu pulpitu do avi

0

Jak to zrobić.
Chodzi mi o zrobienie duzej ilosci screenów i połączenie ich w avi albo coś takiego zeby wyszedl filmik

0

Witam, kiedys napisalem program, ktory w timerku robi screen shoty i zapisuje je do pikow *.jpg w ustawionej jakosci. Do tego powstala przegladarka, ktora co ustalony ulamek sekundy wczytywala z konkretnego katalogu jpgi - tak tworzylem, prowizoryczne, dobre poklatkowe filmy, ktore pokazywaly co user robi w systemie. Jesli chcesz to napisz do mnie na gg, albo na maila to wysle ci kody zrodlowe.

Zas jesli chodzi o tworzenie filmow *.avi ze zdjec to szczerze sam jestem ciekaw jak tego dokonac, zapewne musial bys poznac budowe formatu avi.

0

AVIJOL - to src z biblioteka dla ciebie tktora jest z przyladem, ktory pokazuje tobie jak zrobic avik z bitmap

(ten przyklad zamini obraz na rozmiar 320x240)
var
Form1: TForm1;
Can: TCanvas;
B : TBitmap;
JPG : TJPEGImage;
savestring : string;
screenshot_count : integer = 0;
o : integer;
capture : boolean = false;

za kaptur skrina masz
na poczatek
o := -1;
createdir('screenshot');
Can := TCanvas.Create;
Can.Handle := GetWindowDC(GetDesktopWindow);
B := TBitmap.Create;
B.Width := 320;
B.Height := 240;

b.canvas.CopyRect(rect(0,0,320,240),can,rect(0,0,screen.width,screen.height));
screenshot_count := screenshot_count + 1;
//screenshot_count
if screenshot_count < 10 then
outputstr := 'Screenshot\shot00000'+inttostr(screenshot_count)+'.bmp';
if ((screenshot_count >= 10) and (screenshot_count < 100)) then
outputstr := 'Screenshot\shot0000'+inttostr(screenshot_count)+'.bmp';
if ((screenshot_count >= 100) and (screenshot_count < 1000)) then
outputstr := 'Screenshot\shot000'+inttostr(screenshot_count)+'.bmp';
if ((screenshot_count >= 1000) and (screenshot_count < 10000)) then
outputstr := 'Screenshot\shot00'+inttostr(screenshot_count)+'.bmp';
if ((screenshot_count >= 10000) and (screenshot_count < 100000)) then
outputstr := 'Screenshot\shot0'+inttostr(screenshot_count)+'.bmp';
if ((screenshot_count >= 100000) and (screenshot_count < 1000000)) then
outputstr := 'Screenshot\shot'+inttostr(screenshot_count)+'.bmp';

b.savetofile(outputstr);

1 użytkowników online, w tym zalogowanych: 0, gości: 1