Ajuda com capturar imagem da webcam
Gente preciso da ajuda de vocês, peguei um exemplo da internet de como tirar foto pela webcam e salvar automaticamente...
sendo que preciso que salve com o nome por exemplo "teste01, teste01, teste02, teste03, teste04, teste05, teste06, teste07,, teste08,, teste09, teste10 "
APENAS 10 fotos, após o "teste10" ele volte a salvar como teste01 sobrescrevendo o teste01 antigo...
além disso, ele esta salvando as fotos na pasta onde o sistema esta instalado, sendo que quero deixar um lugar fixo diferente.
olhem o código.
sendo que preciso que salve com o nome por exemplo "teste01, teste01, teste02, teste03, teste04, teste05, teste06, teste07,, teste08,, teste09, teste10 "
APENAS 10 fotos, após o "teste10" ele volte a salvar como teste01 sobrescrevendo o teste01 antigo...
além disso, ele esta salvando as fotos na pasta onde o sistema esta instalado, sendo que quero deixar um lugar fixo diferente.
olhem o código.
unit Umain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
Frame_Video, Vcl.StdCtrls;
type
TForm5 = class(TForm)
Frame11: TFrame1;
Timer1: TTimer;
Button1: TButton;
Panel1: TPanel;
Label1: TLabel;
Displayfotofinal: TPanel;
fotofinal: TImage;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure fotofinalClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
count: integer;
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
count := 0;
Frame11.numCam := 3;
Frame11.StartCam;
Panel1.Visible := true;
timer1.Enabled:=true;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
Frame11.InitFrame;
end;
procedure TForm5.fotofinalClick(Sender: TObject);
begin
Displayfotofinal.Visible := false;
end;
function CountFiles(FilePath: string): integer;
var
SearchRec: TSearchRec;
fileCount: integer;
begin
fileCount := 0;
if FilePath[Length(FilePath)] <> '\\' then
FilePath := FilePath + '\\';
if FindFirst(FilePath + '*.png', faAnyFile and not faDirectory, SearchRec) = 0
then
begin
Inc(fileCount);
while FindNext(SearchRec) = 0 do
begin
Inc(fileCount);
end;
end;
FindClose(SearchRec);
result := fileCount;
end;
procedure TForm5.Timer1Timer(Sender: TObject);
var
pastaAplicacao: string;
NumeroArquivos: integer;
nomeArquivo: string;
begin
Inc(count);
Label1.Caption := inttostr(10 - count);
if count = 10 then
begin
Panel1.Visible := false;
pastaAplicacao := ExtractFilePath(Application.ExeName);
NumeroArquivos := CountFiles(pastaAplicacao);
nomeArquivo := pastaAplicacao + '\\teste' + formatfloat('00000',
NumeroArquivos) + '.png';
Frame11.tpng.SaveToFile(nomeArquivo);
Timer1.Enabled := false;
Displayfotofinal.Visible := true;
fotofinal.Picture.LoadFromFile(nomeArquivo);
Frame11.Stop;
end;
end;
end.Michell
Curtidas 0
Respostas
Michell
25/09/2017
Gente preciso da ajuda de vocês, peguei um exemplo da internet de como tirar foto pela webcam e salvar automaticamente...
sendo que preciso que salve com o nome por exemplo "teste01, teste01, teste02, teste03, teste04, teste05, teste06, teste07,, teste08,, teste09, teste10 "
APENAS 10 fotos, após o "teste10" ele volte a salvar como teste01 sobrescrevendo o teste01 antigo...
além disso, ele esta salvando as fotos na pasta onde o sistema esta instalado, sendo que quero deixar um lugar fixo diferente.
olhem o código.
sendo que preciso que salve com o nome por exemplo "teste01, teste01, teste02, teste03, teste04, teste05, teste06, teste07,, teste08,, teste09, teste10 "
APENAS 10 fotos, após o "teste10" ele volte a salvar como teste01 sobrescrevendo o teste01 antigo...
além disso, ele esta salvando as fotos na pasta onde o sistema esta instalado, sendo que quero deixar um lugar fixo diferente.
olhem o código.
unit Umain;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.pngimage,
Frame_Video, Vcl.StdCtrls;
type
TForm5 = class(TForm)
Frame11: TFrame1;
Timer1: TTimer;
Button1: TButton;
Panel1: TPanel;
Label1: TLabel;
Displayfotofinal: TPanel;
fotofinal: TImage;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure fotofinalClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
count: integer;
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
count := 0;
Frame11.numCam := 3;
Frame11.StartCam;
Panel1.Visible := true;
timer1.Enabled:=true;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
Frame11.InitFrame;
end;
procedure TForm5.fotofinalClick(Sender: TObject);
begin
Displayfotofinal.Visible := false;
end;
function CountFiles(FilePath: string): integer;
var
SearchRec: TSearchRec;
fileCount: integer;
begin
fileCount := 0;
if FilePath[Length(FilePath)] <> ''\\\\\\\\'' then
FilePath := FilePath + ''\\\\\\\\'';
if FindFirst(FilePath + ''*.png'', faAnyFile and not faDirectory, SearchRec) = 0
then
begin
Inc(fileCount);
while FindNext(SearchRec) = 0 do
begin
Inc(fileCount);
end;
end;
FindClose(SearchRec);
result := fileCount;
end;
procedure TForm5.Timer1Timer(Sender: TObject);
var
pastaAplicacao: string;
NumeroArquivos: integer;
nomeArquivo: string;
begin
Inc(count);
Label1.Caption := inttostr(10 - count);
if count = 10 then
begin
Panel1.Visible := false;
pastaAplicacao := ExtractFilePath(Application.ExeName);
NumeroArquivos := CountFiles(pastaAplicacao);
nomeArquivo := pastaAplicacao + ''\\\\\\\\teste'' + formatfloat(''00000'',
NumeroArquivos) + ''.png'';
Frame11.tpng.SaveToFile(nomeArquivo);
Timer1.Enabled := false;
Displayfotofinal.Visible := true;
fotofinal.Picture.LoadFromFile(nomeArquivo);
Frame11.Stop;
end;
end;
end.Galera como o código é muito grande irei upar dois blocos de notas no mega para se alguém poder me ajudar, ou então fazer um acesso remoto pelo teamviewer, isso me ajudaria muito, sou iniciante :/
Umain e Frame_Video
GOSTEI 0