首页 > 解决方案 > 在 FireMonkey 中使用 TakePhotoFromCameraAction (FMX.MediaLibrary.Actions) 时如何控制图像分辨率(大小)?

问题描述

在 Android 和 iOS 上,我都成功地使用TTakePhotoFromCameraActionFMX 将用户拍摄的照片保存到TImage.

使用 时TTakePhotoFromCameraAction,我可以控制所拍摄照片的分辨率(最终以字节为单位)吗?如果是这样,怎么做?

“后处理”结果TImage以减小尺寸的最佳方法是什么?我问这个是因为如果我要开始使用TTakePhotoFromLibraryAction它来允许用户从他们的图库中选择现有照片,我可能仍然需要这个功能。

我确实需要一个适用于 Android 和 iOS 的解决方案,拜托。

我目前正在使用 Delphi 10.4.2 Sydney

标签: delphiandroid-camerafiremonkeyios-cameradelphi-10.4-sydney

解决方案


使用 时TTakePhotoFromCameraAction,我可以控制所拍摄照片的分辨率(最终以字节为单位)吗?如果是这样,怎么做?

TTakePhotoFromCameraActionMaxWidthMaxHeight属性。

如果你改用它,它有一个带参数IFMXCameraService.TakePhoto()的重载,它有一个字段。TParamsPhotoQueryRequiredResolution

“后处理”结果TImage以减小尺寸的最佳方法是什么?我问这个是因为如果我要开始使用TTakePhotoFromLibraryAction它来允许用户从他们的图库中选择现有照片,我可能仍然需要这个功能。

TTakePhotoFromLibraryAction也有MaxWidthMaxHeight 属性。

并且IFMXTakenImageService.TakeImageFromLibrary()有一个带ARequiredResolution参数的重载和一个带TParamsPhotoQuery参数的重载。


推荐阅读