PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 25 → DONNEES EXIF ANDROID
DONNEES EXIF ANDROID
Débuté par CRAM49, 21 mar. 2016 12:31 - 4 réponses
Membre enregistré
57 messages
Posté le 21 mars 2016 - 12:31
Bonjour,

J'ai une application Android où je suis amené à prendre des photos.

J'aimerai manipuler les propriétés des photos prises (date et heure, données gps, orientation, ect.)

J'ai vu que avec la version 20 les fonctions manipulant les données EXIF ne sont pas disponibles sur Andoid.

Est ce quelqu'un peut a déjà été confronter à ce souci ? Si oui, quelles solutions sont possibles ?

merci d'avance.
Gildas

--
CRAM49
Posté le 21 mars 2016 - 14:26
Bonjour

Tu peux toujours le faire au niveau binaire/hexadecimal. L'encodage des
données exif est facilement trouvable sur le web

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


On 3/21/2016 6:31 AM, CRAM49 wrote:
Bonjour,

J'ai une application Android où je suis amené à prendre des photos.

J'aimerai manipuler les propriétés des photos prises (date et heure,
données gps, orientation, ect.)

J'ai vu que avec la version 20 les fonctions manipulant les données EXIF
ne sont pas disponibles sur Andoid.

Est ce quelqu'un peut a déjà été confronter à ce souci ? Si oui, quelles
solutions sont possibles ?

merci d'avance.
Gildas

--
CRAM49
Posté le 23 mars 2016 - 12:27
Bonjour,

Vous pouvez utiliser la bibliothèque google ExifInterface .

Modifications fichier jpg détruisent la structure des données Exif ,
alors assurez-vous de lire les sommets d'origine et enregistrer l'image modifiée .

Ci-dessous, la fonction d'exploitation en Java.

Traduit par google translate:
Java code



public static void copyExif(String oldPath,String newPath) //throws IOException
{
try{
ExifInterface oldExif = new ExifInterface(oldPath);

String[] attributes = new String[]
{
ExifInterface.TAG_APERTURE,
ExifInterface.TAG_DATETIME,
ExifInterface.TAG_DATETIME_DIGITIZED,
ExifInterface.TAG_EXPOSURE_TIME,
ExifInterface.TAG_FLASH,
ExifInterface.TAG_FOCAL_LENGTH,
ExifInterface.TAG_GPS_ALTITUDE,
ExifInterface.TAG_GPS_ALTITUDE_REF,
ExifInterface.TAG_GPS_DATESTAMP,
ExifInterface.TAG_GPS_LATITUDE,
ExifInterface.TAG_GPS_LATITUDE_REF,
ExifInterface.TAG_GPS_LONGITUDE,
ExifInterface.TAG_GPS_LONGITUDE_REF,
ExifInterface.TAG_GPS_PROCESSING_METHOD,
ExifInterface.TAG_GPS_TIMESTAMP,
ExifInterface.TAG_IMAGE_LENGTH,
ExifInterface.TAG_IMAGE_WIDTH,
ExifInterface.TAG_ISO,
ExifInterface.TAG_MAKE,
ExifInterface.TAG_MODEL,
ExifInterface.TAG_ORIENTATION,
ExifInterface.TAG_SUBSEC_TIME,
ExifInterface.TAG_SUBSEC_TIME_DIG,
ExifInterface.TAG_SUBSEC_TIME_ORIG,
ExifInterface.TAG_WHITE_BALANCE,
"User Comment"
};

ExifInterface newExif = new ExifInterface(newPath);
for (int i = 0; i < attributes.length; i++)
{
String value = oldExif.getAttribute(attributes[i]);
if (value != null)
newExif.setAttribute(attributes[i], value);
}
newExif.saveAttributes();
}
catch(IOException e){

}
}
Posté le 14 novembre 2016 - 09:26
bonjour,

je lis ta reponse.
je voudrais utiliser le exif TAG_ARTIST pour y coller le nom de celui qui a pris la photo.

comment fait on pour inclure ton code JAVA ?

merci
Membre enregistré
934 messages
Popularité : +11 (11 votes)
Posté le 03 février 2020 - 16:27
Pour suivre le fil de la conversation

--
Bertin CARRIERE - SPRL RGPD.Zen-Project.be
bertin.carriere@gmail.com
http://www.zen-project.be http://www.linkedin.com/in/bertincarriere

Belgique +32(0)2/318.02.67
France +33(0)3/66.722.542
Espagne +34.5/12.702.266

http://www.be-dev.be