【问题标题】:Accessing Photo File访问照片文件
【发布时间】:2013-09-30 17:12:15
【问题描述】:

我在我的应用程序中使用标准的 TTakePhotoFromCameraAction 来拍照。

我想做的是,当用户关闭应用程序然后再次打开它时,要上传的最后一张照片。

我知道如何在delphi中使用SharedPreference,但我不知道它自己的照片的文件名和路径是什么!

有什么线索吗?

【问题讨论】:

    标签: android firemonkey delphi-xe5


    【解决方案1】:

    TTakePhotoFromCameraAction.OnDidFinishTaking 事件为您提供拍摄照片的Bitmap。然后,您有责任将其保存在您需要的位置和方式。 TTakePhotoFromCameraAction 不会为你保存。

    【讨论】:

    • 那它是怎么保存在图库里的呢?恐怕我保存下来,存储介质里会有2个文件。
    • 我在 Firemonkey 的源代码中没有看到任何将捕获的相机照片保存到图库的内容。但是,我确实看到TTakePhotoFromCameraAction 调用JFMXMediaLibrary.takeImageFromCamera() 并且Embarcadero 的JFMXMediaLibrary 接口实现隐藏在com.embarcadero.firemonkey.medialibrary.FMXMediaLibrary java 类中,我没有看到任何源代码。因此,Embarcadero 可能在 FireMonkey 不知情的情况下将拍摄的照片秘密保存到画廊,但我无法想象他们为什么想要或需要这样做。
    • 特别是因为TTakePhotoFromCameraAction 正在向应用程序提供照片数据以决定如何处理它。
    • 也许保存它的不是 Embarcadero JFMXMediaLibrary……也许是 Android OS.. 或制造商相机小程序。但同样,为什么其他应用程序的图片没有保存在 Gallery 中,而是保存在特定的文件夹中?
    • 无法回答这个问题,因为我们无法看到 Embarcadero 是如何调用相机的,无论是直接还是通过 Intent 或其他方式。 Android 公开了访问相机的不同方式,因此可能不同的 API 有不同的行为,或者 Embarcadero 省略了一个告诉相机忽略图库的标志,或者......
    【解决方案2】:

    有一个示例向您展示了如何使用 delphi 示例进行操作:

    C:\Users\Public\Documents\RAD Studio\12.0\Samples\FireMonkeyMobile\PhotoEditorDemo

    【讨论】:

      猜你喜欢
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      • 2017-05-08
      相关资源
      最近更新 更多