PDA

Ver la Versión Completa : Guardado Sucesivo De Capturas De Imagen


Niko
17-05-2004, 23:32:33
Hola a todos:

A ver, mediante un ttimer yo hago capturas de pantalla, pero luego quiero que cada vez que haga una (en mi caso cada minuto) se me guarden en una carpeta cada vez con un nombre diferente, es decir:

Ejemplo:

Minuto 1 => 13_03__12_50.bmp // el 13 de marzo a las 12:50.
Minuto 2 => 13_03__12_51.bmp // el 13 de marzo a las 12:51.
y así sucesivamente

Como lo hago???

Gracias de antemano a todos.

Bye

marcoszorrilla
17-05-2004, 23:44:39
Cada minuto?


program GetScrnBmp;

uses
Windows,
Graphics;

{$R *.RES}

var
B: TBitmap;
S: string;

begin

B := TBitmap.Create;

B.Width := GetSystemMetrics(SM_CXSCREEN); {Screen.Width}
B.Height := GetSystemMetrics(SM_CYSCREEN); {Screen.Height}

BitBlt(B.Canvas.handle, 0, 0, B.Width, B.Height, GetDc(0), 0, 0, SRCCOPY);


if ParamStr(1) <> '' then
S := ParamStr(1) + '.bmp'
else
S := 'Screen.bmp';

b.SaveToFile (s);

b.Free;

end.


Ahora bien, mira a ver si puedes poner como disco duro la rueda de un tractor porque con lo que ocupa cada archivo lo tenemos claro.

Un Saludo.

jachguate
17-05-2004, 23:48:04
Descompone la fecha y hora, y luego construis el nombre de archivo, algo como:


Var
dd, mm, yy, hh, mm, ss, cs : Word;
fName : String;

Begin
DecodeDate(now, yy, mm, dd);
DecodeTime(now, hh, mm, ss, cs);
fName := Format('%d_%d__%d_%d.bmp', [dd, mm, hh, mm]);
bmp.SaveToFile(fName);
end;


Hasta luego.

;)

Niko
17-05-2004, 23:48:22
jejejeje, ke tal?

gracias por tu respuesta, pensandolo bien, llevas razón, y si lo hago en jpg ke ocupa menos???

se puede hacer???

gracias.

Bye

marcoszorrilla
17-05-2004, 23:50:52
Hagas lo que hagas el problema vendrá siendo el mismo si guardas cada minuto, en una hora tendrás ya 60 archivos, calcula.

En formato Bmp una pantalla puede ocupar casi 2 Mb.

Un Saludo.

DarkByte
18-05-2004, 08:02:45
Podrías eliminar las imágenes iguales (cosa complicada), o las más antiguas...