我使用Firemonkey XE5拍照并保存到设备。我使用标准操作TakePhotoFromCameraAction
和on DidFinishTaking get TBitmap
。没关系,但是当我尝试使用
ImageContainer.Bitmap.SaveToFile(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'myfile.bmp');
什么都没发生。图像未存储,但应用程序似乎正在运行 - 我可以拍摄另一张照片。
如何解决这个问题?
答案 0 :(得分:1)
我有类似的问题,但是,这不是一个保存问题。我的问题实际上是设备通过USB连接到我的电脑。我在文件资源管理器中打开设备,我将无法看到刚刚保存的图片。然后我断开设备并再次连接它,打开一个新的文件资源管理器,然后在那里......
答案 1 :(得分:0)
之前我遇到过同样的问题。 在 FMX.Graphix.TBitmap.SaveToFile 中跟踪 SaveToFile 功能后,再到 FMX.Graphix.TBitmapCodecManager.SaveToFile 函数,我发现这个函数返回 False ,因为:
if SameText(ExtractFileExt(AFileName), Descriptor.Extension, loUserLocale) and Descriptor.CanSave then
if 条件返回False,因为Descriptor.Extension为'。jpg'不是'。bmp'。
因此解决方案是对文件使用'。jpg'扩展名,或者在SaveToFile函数中使用SaveParams(Default = nil)参数来匹配bmp类型。