ギャラリーから画像を取得しようとしています - 正常に動作しますが、代わりに再圧縮されたコピーを取得します。
次の簡単なコードを使用して、Android のギャラリーから画像を取得しています。
procedure TakePhotoFromGallery;
begin
FParams.RequiredResolution := TSize.Create(MaxInt, MaxInt);
// FParams.RequiredResolution := TSize.Create(3000, 4000); specifiying original dimensions does not help
FParams.Editable := False; // Don't ask user to edit the photo after selecting it
FParams.NeedSaveToAlbum := False; // Seems to have no effect
if TPlatformServices.Current.SupportsPlatformService(IFMXTakenImageService, FGalleryService) then
FGalleryService.TakeImageFromLibrary(nil, FParams);
end;
私は購読してTMessageReceivedImagePath
いて、次のような画像を受け取ります:
procedure TMyObject.ReceivedImagePath(const Sender: TObject; const M: TMessage);
begin
if M is TMessageReceivedImagePath then
Log.d('ReceivedImagePath ' + TMessageReceivedImagePath(M).Value);
end;
すべて正常に動作しますが、問題が 1 つあります。何らかの理由で、EXIF が欠落しているギャラリーから画像のコピーを取得します。元の画像は 3000x400px 2.5mb で、3000x4000px 3.45mb を取得します。EXIF データを読み取るにはオリジナルが必要です。
元の画像を取得するにはどうすればよいですか?