What is Exif?
EXIF is a common International standard format for storing metadata as part of an image. This has the advantage of simplicity and convenience. It stands for Exchangeable image file format and is found in JPEG and HEIC, PNG and Tiff image file formats and wav sound files. It was first proposed in 1995 and is currently at version 2.32
It was originally developed for the Tiff file format and consists of a set of predefined Exif tags (such as Image width, height, copyright, location, etc) which take a predefined value (Copyright is a String). There is a nice list of EXIF tags here
How can I view EXIF?
A big advantage of EXIF data is that it can be easily viewed without specialist tools in many applications on Mac, Linux and Windows and mobile. Here is the obligatory cat picture on my Mac with the metadata shown in Preview and Finder on my Mac.
In a later article we will look in more detail at how you can read EXIF data.
What are the advantages and disadvantages of EXIF?
It works very well if the data you are interested in matches the Exif specification. But a weakness of EXIF is that you cannot alter or add your own tags to suit your workflow. This has led to alternative metadata formats such as XMP which is an extensible XML markup developed by Adobe.
Another potential issue with EXIF data is that there is no security or encryption. Anyone can access the information and it may includes things you do not wish to reveal, such as the location where the photo was taken.
Quick summary is that HEIC, JPEG, PNG, TIFF can contain easily read predefined data about images. This can be very useful to tell you about images, but you should also be aware it is there.
Read and write images in Java with one line of code
Read an Image with
BufferedImage image = JDeli.read(streamOrFile);
and write an Image with
JDeli.write(myBufferedImage, OutputFormat.HEIC, outputStreamOrFile)