加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

从Delphi Firemonkey XE5应用程序在Android上拍照

发布时间:2020-12-15 04:07:15 所属栏目:大数据 来源:网络整理
导读:有没有人能够在用Delphi Firemonkey XE5编写的应用程序中从 Android上的相机拍照?视频捕捉怎么样? 这被认为是框架中的错误或只是缺少文档的东西. 任何人都可以告诉为什么代码波纹管无法工作/从Android上的相机检索任何图像? 删除了表单上的TCameraCompone
有没有人能够在用Delphi Firemonkey XE5编写的应用程序中从 Android上的相机拍照?视频捕捉怎么样?

这被认为是框架中的错误或只是缺少文档的东西.

任何人都可以告诉为什么代码波纹管无法工作/从Android上的相机检索任何图像?

删除了表单上的TCameraComponent和TImage组件,但没有任何反应.

procedure TCameraComponentForm.OnCreate(Sender: TObject);
begin
  CameraComponent1.Kind := FMX.Media.TCameraKind.ckFrontCamera;
  CameraComponent1.FlashMode := FMX.Media.TFlashMode.fmFlashOff;
  CameraComponent1.Active := True;
end;

procedure TCameraComponentForm.CameraComponent1SampleBufferReady(
  Sender: TObject; const ATime: Int64);
begin
  CameraComponent1.SampleBufferToBitmap(Image1.Bitmap,True);
  Image1.Width := Image1.Bitmap.Width;
  Image1.Height := Image1.Bitmap.Height;
end;

权限设置正确.

解决方法

这段代码工作正常:
procedure TfrmPrincipal.SampleBufferSync;
begin
  cmcPrincipal.SampleBufferToBitmap(imgFoto.Bitmap,true);
end;

procedure TfrmPrincipal.cmcPrincipalSampleBufferReady(Sender: TObject;
  const ATime: Int64);
begin
  TThread.Synchronize(TThread.CurrentThread,SampleBufferSync);
//  CameraComponent1.SampleBufferToBitmap(imgFoto.Bitmap,True);
//  imgFoto.Width := imgFoto.Bitmap.Width;
//  imgFoto.Height := imgFoto.Bitmap.Height;
end;

procedure TfrmPrincipal.FormShow(Sender: TObject);
begin
  cmcPrincipal.Kind := FMX.Media.TCameraKind.ckBackCamera;
  try
    cmcPrincipal.FlashMode := FMX.Media.TFlashMode.fmFlashOff;
  except

  end;
  cmcPrincipal.Active := True;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读