خب این موضوع رو که تو پست اول گفتم. برای اون اطلاعات باید از کتابخونه هایی که معرفی کردم استفاده کنید. گفته بودم "تابع ImageIO.read خصیصه ها (Properties) رو نمی خونه.".
از کتابخونه Metadata extractor استفاده کردم، کد زیر که در سایت خودشون هم معرفی شده بود رو اجرا کردم:
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import java.io.File;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws ImageProcessingException, IOException {
File file=new File("/path/to/file.jpg");
Metadata metadata = ImageMetadataReader.readMetadata(file);
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
System.out.format("[%s] - %s = %s\n",
directory.getName(), tag.getTagName(), tag.getDescription());
}
if (directory.hasErrors()) {
for (String error : directory.getErrors()) {
System.err.format("ERROR: %s", error);
}
}
}
}
}
و برای یک عکس اطلاعات زیر رو خروجی داد:
[JPEG] - Compression Type = Baseline
[JPEG] - Data Precision = 8 bits
[JPEG] - Image Height = 1920 pixels
[JPEG] - Image Width = 2560 pixels
[JPEG] - Number of Components = 3
[JPEG] - Component 1 = Y component: Quantization table 0, Sampling factors 2 horiz/2 vert
[JPEG] - Component 2 = Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert
[JPEG] - Component 3 = Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert
[Exif IFD0] - Image Width = 2560 pixels
[Exif IFD0] - Image Height = 1920 pixels
[Exif IFD0] - Make = SAMSUNG
[Exif IFD0] - Model = GT-I8552
[Exif IFD0] - Orientation = Top, left side (Horizontal / normal)
[Exif IFD0] - X Resolution = 72 dots per inch
[Exif IFD0] - Y Resolution = 72 dots per inch
[Exif IFD0] - Resolution Unit = Inch
[Exif IFD0] - Software = I8552XXAMDB
[Exif IFD0] - Date/Time = 2015:02:24 10:13:01
[Exif IFD0] - YCbCr Positioning = Center of pixel array
[Exif SubIFD] - Exposure Time = 1/1520 sec
[Exif SubIFD] - F-Number = f/2.7
[Exif SubIFD] - Exposure Program = Aperture priority
[Exif SubIFD] - ISO Speed Ratings = 50
[Exif SubIFD] - Exif Version = 2.20
[Exif SubIFD] - Date/Time Original = 2015:02:24 10:13:01
[Exif SubIFD] - Date/Time Digitized = 2015:02:24 10:13:01
[Exif SubIFD] - Components Configuration = YCbCr
[Exif SubIFD] - Exposure Bias Value = 0 EV
[Exif SubIFD] - Max Aperture Value = f/2.7
[Exif SubIFD] - Metering Mode = Center weighted average
[Exif SubIFD] - Flash = Flash fired
[Exif SubIFD] - Focal Length = 3.4 mm
[Exif SubIFD] - User Comment = User comments
[Exif SubIFD] - FlashPix Version = 1.00
[Exif SubIFD] - Color Space = sRGB
[Exif SubIFD] - Exif Image Width = 2560 pixels
[Exif SubIFD] - Exif Image Height = 1920 pixels
[Exif SubIFD] - Exposure Mode = Auto exposure
[Exif SubIFD] - White Balance Mode = Auto white balance
[Exif SubIFD] - Scene Capture Type = Standard
[Samsung Makernote] - Maker Note Version = 1.00
[Samsung Makernote] - Device Type = Cell Phone
[Samsung Makernote] - Unknown tag (0x000c) = 0
[Samsung Makernote] - Unknown tag (0x0010) = 23/24613
[Samsung Makernote] - Unknown tag (0x0040) = 0
[Samsung Makernote] - Unknown tag (0x0050) = 1
[Samsung Makernote] - Face Detect = Off
[Interoperability] - Interoperability Index = Recommended Exif Interoperability Rules (ExifR98)
[Interoperability] - Interoperability Version = 1.00
[Exif Thumbnail] - Image Width = 320 pixels
[Exif Thumbnail] - Image Height = 240 pixels
[Exif Thumbnail] - Compression = JPEG (old-style)
[Exif Thumbnail] - Orientation = Top, left side (Horizontal / normal)
[Exif Thumbnail] - X Resolution = 72 dots per inch
[Exif Thumbnail] - Y Resolution = 72 dots per inch
[Exif Thumbnail] - Resolution Unit = Inch
[Exif Thumbnail] - Thumbnail Offset = 866 bytes
[Exif Thumbnail] - Thumbnail Length = 18151 bytes
[Huffman] - Number of Tables = 4 Huffman tables
[File] - File Name = file.jpg
[File] - File Size = 3280308 bytes
[File] - File Modified Date = Tue Feb 24 10:13:02 +03:30 2015