Fórum Problema no componente TCamera #403619

23/06/2011

0

Estou usando o componente TCamera para salvar imagens direto da webcam, mais quando utilizo o método :
 

  cam1.CaptureImageDisque;

 ele só salva o primeiro nome da imagem. Ex: se lá em FiecherImage está setado: Imagem.bmp, ele salva somente o "I".


Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

23/06/2011

Leandro Carvalho

Eu faço assim:

procedure ConverteParaJpeg(ACaminhoFoto: String);
var
 cjBmp: TBitmap;
 cjJpg: TJpegImage;
 strNomeSemExtensao: String;
 AFoto: TImage;
begin
 AFoto:= TImage.Create(Application);
 AFoto.Parent := FormTiraFoto;
 AFoto.Visible := False;
 AFoto.Picture.Bitmap.LoadFromFile(ACaminhoFoto + '.bmp');

 cjJpg := TJPegImage.Create;
 cjBmp := TBitmap.Create;

 cjBmp.Assign(AFoto.Picture.Bitmap);
 cjJpg.Assign(cjBMP);

 cjJpg.SaveToFile(ACaminhoFoto + '.jpg');
 DeleteFile(ACaminhoFoto + '.bmp');
 cjJpg.Free;
 cjBmp.Free;
 AFoto.Free;
end;


procedure TFormTiraFoto.BBCapituraImagemClick(Sender: TObject);
var
   DirNomeFoto, NomeFoto: String;
begin
 DirNomeFoto := DiretorioFotos + '\' + ADOQBuscaAlunoMatricula.AsString + '.bmp';
 NomeFoto := ExtractFilePath(DirNomeFoto) +
   Copy(ExtractFileName(DirNomeFoto),1, Length(ExtractFileName(DirNomeFoto))-4);
 CCamera.FichierImage := ExtractFileName(DirNomeFoto);
 CCamera.CaptureImageDisque;
 ConverteParaJpeg(NomeFoto);
end;

Responder

Gostei + 0

23/06/2011

Ronaldo Lanhellas

olha só , estou tentando usar agora o componente jAVICAPTURA da linha JEDI, porém ele fica uma janela preta bem minuscula e não consigo aumentar de forma alguma.
Responder

Gostei + 0

23/06/2011

Ronaldo Lanhellas

eu fiz o seguinte no componente TCamera:

 
  cam1.Actif := true;
  cam1.FichierImage := ExtractFilePath(Application.ExeName)+'testeDeImagem.bmp';
  cam1.CaptureImageDisque;

 aparece apenas o seguinte arquivo : "D "


Responder

Gostei + 0

23/06/2011

Ronaldo Lanhellas

Bom, encontrei um artigo aqui mesmo na DevMidia que dizia algo sobre o tratamento de strings do DELPHI 2010 ser diferente do DELPHI 7 , então tive que usar o seguinte codigo:

if FileExists('F.bmp') then
     DeleteFile('F.bmp');
  cam1.CaptureImageDisque;
  RenameFile('F', 'F.bmp');


 funcionou, porém se eu ativar e desativar a webcam pelo cam1.actif, da o seguinte problema, aparece uma janela pedindo para eu selecionar a webcam, e se dar ok da aquele erro acho que é em espanhol.

 http://imageshack.us/photo/my-images/851/cames.png/
Responder

Gostei + 0

23/06/2011

Ronaldo Lanhellas

Parece que tudo está se resolvendo, resolvi o poblema acima apenas circundando a instrução com TRY EXCEPT. ..

 Porém , a imagem fica toda preta ! Ela tira a foto e salva onde eu quero normal, mais eu não consigo visualizar a webcam, pois fica tudo preto ! apenas quando tiro a foto que consigo ver a imagem.
Responder

Gostei + 0

04/10/2011

Alan Facchini


Parece que tudo está se resolvendo, resolvi o poblema acima apenas circundando a instrução com TRY EXCEPT. ..

 Porém , a imagem fica toda preta ! Ela tira a foto e salva onde eu quero normal, mais eu não consigo visualizar a webcam, pois fica tudo preto ! apenas quando tiro a foto que consigo ver a imagem.



O problema de salvar com a primeira pode ser resolvido da seguinte maneira:
ache a linha "retc := capFileSetCaptureFile(FFramePreview, LongInt(@achFileName));" no método CaptureImageDisque.
Substitua por "retc := capFileSetCaptureFile(FFramePreview, LongInt(AnsiString(FFichierImage));". Agora ele salva no caminho especificado na propriedade do componente.

No windows vista com uma camera microsoft eu tenho o mesmo problema citado no post anterior. Alguém conseguiu resolver o problema.
ps: Windows 7 e XP não ocorre o problema.
Responder

Gostei + 0

23/10/2011

Gilson Lima.

Amigos. Para resolver os problemas de Gravar em pasta específica substituam o método CaptureImageDisque por este alterado com a ajuda do post anterior:

procedure TCamera.CaptureImageDisque(Path :String);
var
achSingleFileName : array [0..255] of Char;
begin
If FFramePreview = 0 then exit;
capGrabFrameNOStop(FFramePreview);
StrPCopy(achSingleFileName, FFichierImage);
capFileSaveDIB(FFramePreview, LongInt(AnsiString(Path)));
end;

Valeu!!
anastacionaweb@gmail.com
Responder

Gostei + 0

26/12/2011

Vinicius Silva

To com um problema no componente TCamera, que so consigo capturar bem a primeira vez, se tentar capturar novamente, ao invés de exibir a captura da webcam, fica tudo verde. Tenho que fechar a aplicacao e abir novamente. Alguem imagina o q pode ser?
Responder

Gostei + 0

05/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar