Попытка получить изображение из Галереи - все работает нормально, но вместо этого я получаю повторно сжатую копию.
Я использую следующий простой код для получения изображения из галереи на 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.
Как получить исходное изображение?