0

ギャラリーから画像を取得しようとしています - 正常に動作しますが、代わりに再圧縮されたコピーを取得します。

次の簡単なコードを使用して、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 データを読み取るにはオリジナルが必要です。

元の画像を取得するにはどうすればよいですか?

4

0 に答える 0