Приложение Delphi для Android дает мне копию изображения из галереи. Как мне получить оригинал? - PullRequest
0 голосов
/ 06 марта 2019

Попытка получить изображение из Галереи - все работает нормально, но вместо этого я получаю повторно сжатую копию.

Я использую следующий простой код для получения изображения из галереи на 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;

Все отлично работает, но есть одна проблема. По какой-то причине я получаю копию изображения из галереи с отсутствующим EXIF. Исходное изображение 3000x400px 2,5 МБ, а я получаю 3000x4000px 3,45 МБ. Мне нужен оригинал, чтобы прочитать данные EXIF.

Как получить исходное изображение?

...