This library contains an ExifData object that allows you to read and write the EXIF data in a Jpeg file. It is a very thin wrapper over the Android ExifInterface class.
Just to add, I have copied the images from my device onto my PC to verify that exif data is present and it is. My camera images b y default are stored on my SD card so I have also copied them onto the device itself and still no joy.
When returning from the content chooser, Dir = ContentDir and the Filename = content://media/external/images/media/3425 which is odd as this is not the actual name of the jpg when viewing in windows. Could this be the problem and if so how to get the correct filename.
Run the JpegUtils demo and check that the date is shown in the message box that shows when you tap the picture. A blank date may be a sign that the filename or directory is not valid. For some reason the Android ExifInterface object, which this library wraps, does not throw an Exception when initialised with an non-existent file. The initialiser for ExifInterface takes a full path (Android is not very consistent with filenames and paths) which is done like this.
B4X:
exif = new ExifInterface(dir + "/" + filename);
Log your directory and filename and see what they look like.
I wondering, if it is possible, to copy the old EXIF data to the new resized Image.
I have try this but then you must copy Tag for Tag.
Is there an other way to do this.
To explain this better
I take a Picture with my Camera save as "1.jpg"
Then I resize the Image to about 800x600
Save this Image as "2.jpg"
In "1.jpg" I still have the EXIF data and "2.jpg" has no EXIF data.
By following the links you will see Latitude and Longitude are expressed as three rational numbers.
three RATIONAL values giving the degrees, minutes, and seconds, respectively. If latitude is expressed as degrees, minutes and seconds, a typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of minutes are given up to two decimal places, the format would be dd/1,mmmm/100,0/1.
Thank you, but i need the value in grades ( fox example 38,5448521455895), how i can convert it? another question whit exif i tried to set the lat lon coordinates in a pic, but it don't works
Dim fname As String
fname = "bb.jpg"
exif.Initialize(File.DirRootExternal, fname)