Image 在Firemonkey中拍摄和保存照片

Image 在Firemonkey中拍摄和保存照片,image,delphi,camera,save,firemonkey,Image,Delphi,Camera,Save,Firemonkey,我使用Firemonkey XE5拍照并保存到设备。我使用标准动作从CameraAction拍摄照片和完成拍摄get-TBitmap。没关系,但是当我尝试使用 ImageContainer.Bitmap.SaveToFile(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'myfile.bmp'); 什么也没发生。图像未存储,但应用程序似乎正在运行-我可以再拍一张照片 如何解决这个问题?我以前也遇到过同样

我使用Firemonkey XE5拍照并保存到设备。我使用标准动作
从CameraAction拍摄照片
完成拍摄get-TBitmap
。没关系,但是当我尝试使用

ImageContainer.Bitmap.SaveToFile(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'myfile.bmp');
什么也没发生。图像未存储,但应用程序似乎正在运行-我可以再拍一张照片


如何解决这个问题?

我以前也遇到过同样的问题。 在FMX.Graphix.TBitmap.SaveToFile中跟踪SaveToFile函数后,我发现该函数返回False是因为:

if SameText(ExtractFileExt(AFileName), Descriptor.Extension, loUserLocale) and Descriptor.CanSave then
if条件返回False,因为描述符.Extension是'.jpg'而不是'.bmp'


因此,解决方案是使用文件扩展名'.jpg'或在SaveToFile函数中使用SaveParams(默认值=nil)参数来匹配bmp类型。

我也遇到过类似的问题,但这不是保存问题。我的问题是,这个设备是通过usb连接到我的电脑上的。我在文件资源管理器中打开了设备,无法看到刚才保存的图片。然后,我断开了设备的连接,再次连接,打开了一个新的文件资源管理器,他们在那里

嗨Oussama。。。谢谢你的回答,但我不确定我是否理解/你的解决方案是否有效。。。我把分机改成了jpg,但没用。现在我有了ImageContainer.Bitmap.SaveToFile(System.IOUtils.TPath.GetDocumentsPath+System.SysUtils.PathDelim+'myfile.jpg');而且还是不行。你的密码是什么?你能和我分享一下吗?我的代码是:ImageFile:=System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDownloadsPath,'MyImage.jpg');ImageControl.Bitmap.SaveToFile(ImageFile);这对我来说很好。如果它对您不起作用,我建议您将其跟踪到SaveToFile函数中,并找出问题所在。我也有同样的问题。跟踪到TBITMapCodeManager.FindWritableCodeClass,此函数只支持保存png;jpg;jpeg。不是bmp,所以当我将文件扩展名改为.jpg时,它保存了。你能相信吗。