2013-10-20 2 views
2

Firemonkey XE5를 사용하여 사진을 찍어 장치에 저장합니다. 나는 표준 동작 인 TakePhotoFromCameraActionon DidFinishTaking get TBitmap을 사용한다. 괜찮아요. 그러나이 그림을 저장할 때Firemonkey에서 사진 찍기 및 저장

ImageContainer.Bitmap.SaveToFile(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'myfile.bmp'); 

아무런 일도 일어나지 않습니다. 이미지는 저장되지 않지만 애플리케이션이 실행중인 것 같습니다. 다른 사진을 찍을 수 있습니다.

해결 방법?

답변

0

이전에 같은 문제가있었습니다. 추적 후 SaveToFile 기능 FMX.Graphix.TBitmap.SaveToFile에, 다음 FMX.Graphix.TBitmapCodecManager.SaveToFile 기능, 나는 발견이 함수의 반환 거짓 이유는

if SameText(ExtractFileExt(AFileName), Descriptor.Extension, loUserLocale) and Descriptor.CanSave then 

조건이 Descriptor.Extension이 '.jpg'이 아닌 '.bmp'이기 때문에 False를 반환합니다.

해결책은 '.jpg' 확장자를 파일에 사용하거나 SaveToFile 함수의 SaveParams (기본값 = nil) 매개 변수를 사용하여 bmp 유형과 일치시키는 것입니다.

+0

안녕하세요, 오 사마 ... 답변을 주셔서 감사합니다. 확장 기능을 jpg로 변경했지만 도움이되지 않았습니다. 이제 저는 을 가지고 있습니다. ImageContainer.Bitmap.SaveToFile (System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'myfile.jpg'); 그리고 여전히 괜찮지 않습니다. 코드가 무엇입니까? 나 한테 그걸 나눠 주시겠습니까? –

+0

내 코드 : ImageFile : = System.IOUtils.TPath.Combine (System.IOUtils.TPath.GetSharedDownloadsPath, 'MyImage.jpg'); ImageControl.Bitmap.SaveToFile (ImageFile); 그것은 나를 위해 잘 작동합니다. 작동하지 않는 경우 SaveToFile 함수로 추적하여 문제가 무엇인지 찾아 보시기 바랍니다. –

1

나는 비슷한 문제가 있었지만 절약의 문제는 아니었다. 내 문제는 실제로 장치가 usb를 통해 내 컴퓨터에 연결되었다는 것입니다. 나는 파일 익스플로러에서 장치를 기다리고 방금 저장 한 그림을 볼 수 없었을 것이다. 그런 다음 장치를 분리하고 다시 연결하여 새로운 파일 탐색기를 열었습니다. 여기에서 ...