Поиск сообщества
Показаны результаты для тегов 'IFMXCameraService'.
Найдено: 1 результат
-
В программе использую вспышку Camera.TorchMode := TTorchMode.ModeOn; После этого до камеры невозможно достучаться через IFMXCameraService.TakePhoto без предварительного включения затем выключения компонента. т.е. при любом обращении к свойствам компонента камера остается занятой для IFMXCameraService (даже при обращении к AvailableCaptureSettings) procedure TfrmMain.btnMakePhotoTap(Sender: TObject; const [Ref] Point: TPointF);var xService: IFMXCameraService; xParams: TParamsPhotoQuery; xCtrl: TControl; xCamera: TCameraComponent; xCamSettings: TArray<TVideoCaptureSetting>; xMaxResH, xMaxResW: Integer;begin //контрол для вызова IFMXCameraService.TakePhoto(AControl, AParam) xCtrl := TControl.Create(SELF); xCamera := TCameraComponent.Create(SELF); xCamSettings := xCamera.AvailableCaptureSettings; //получаем максимальное разрешение xMaxResH := xCamSettings[Low(xCamSettings)].Height; xMaxResW := xCamSettings[Low(xCamSettings)].Width; //////////////////////////////////////////////// // БЕЗ ЭТОГО xService.TakePhoto НЕ ЗАПУСКАЕТСЯ /////////////////////////////////////////////// xCamera.Active := True; //<- Именно сначала doStart xCamera.Active := False; // //////////////////////////// FreeAndNil(xCamera); if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService, xService) then begin xParams.Editable := False; //ИНАЧЕ НЕ СОХРАНЯЕТ В АЛЬБОМ!!! xParams.NeedSaveToAlbum := True; xParams.RequiredResolution := TSize.Create(xMaxResH,xMaxResW ); xService.TakePhoto(xCtrl, xParams); end else ShowMessage('This device does not support the camera service'); FreeAndNil(xCtrl);end; Как можно освободить камеру без щелканья объективом? Задача сделать фото максимального качества в галерею. (Фактически это стандартный экшен "сделать фото" - но он не работает после игры с фанариком) Буду раз за любые комментарии по коду.