AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Fotopfad + GPS ermitteln unter Android
Thema durchsuchen
Ansicht
Themen-Optionen

Fotopfad + GPS ermitteln unter Android

Ein Thema von Colin S · begonnen am 19. Mär 2019 · letzter Beitrag vom 21. Mär 2019
Antwort Antwort
Colin S

Registriert seit: 18. Mär 2019
2 Beiträge
 
Delphi 10.3 Rio
 
#1

Fotopfad + GPS ermitteln unter Android

  Alt 19. Mär 2019, 10:56
Hallo zusammen,

ich versuche in meiner Android-App (unter D10.3) ein Bild aus der Galerie auszuwählen und die GPS-Daten (Lat und Long) abzufragen.

Mein Problem ist, dass ich als Pfad eine Cache-Datei zurück bekomme ohne EXIF-Daten!
z.B. '/data/user/0/com.embarcadero.Project1/cache/IMG_20190319_[...].jpg'

Das Bild liegt aber eigentlich unter /DCIM/Camera/ und heißt auch anders.

Hat jemand eine Idee?

Hier der Quellcode:

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
  TMessageManager.DefaultManager.SubscribeToMessage(TMessageReceivedImagePath, DidReceiveBitmap);
end;

procedure TForm2.TakePhotoFromLibraryAction1DidCancelTaking;
begin
  //
end;

procedure TForm2.TakePhotoFromLibraryAction1DidFinishTaking(Image: TBitmap);
begin
  Image1.Bitmap := Image;
end;

procedure TForm2.DidReceiveBitmap(const Sender: TObject; const M: TMessage);
var
  LMessage: TMessageResultNotification;
  LImagePath: String;
begin
  if M is TMessageReceivedImagePath then
  begin
    LMessage := TMessageResultNotification(M);
    LImagePath := (M as TMessageReceivedImagePath).Value; // <--- '/data/user/0/com.embarcadero.Project1/cache/IMG_20190319_[...].jpg'
    if LMessage.RequestCode = TJFMXMediaLibrary.JavaClass.ACTION_TAKE_IMAGE_FROM_LIBRARY then
    begin
      GetEXIF(LImagePath);
      Image2.Bitmap.LoadFromFile(LImagePath);
    end;
  end;
end;

procedure TForm2.GetEXIF(const AFileName: String);
var
  LEXIF: JExifInterface;
  LLatLong: TJavaArray<Single>;
begin
  LEXIF := TJExifInterface.JavaClass.init(StringToJString(AFileName));
  Memo1.Lines.Add('File: ' + AFileName);
  LLatLong := TJavaArray<Single>.Create(2);
  if LEXIF.getLatLong(LLatLong) then
  begin
    Memo1.Lines.Add('Latitude: ' + LLatLong.Items[0].ToString);
    Memo1.Lines.Add('Longitude: ' + LLatLong.Items[1].ToString);
  end;
  LLatLong.Free;
end;
  Mit Zitat antworten Zitat
Colin S

Registriert seit: 18. Mär 2019
2 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Fotopfad + GPS ermitteln unter Android

  Alt 21. Mär 2019, 09:42
Crosspost: https://en.delphipraxis.net/topic/87...e-for-android/
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz