2017-03-16 52 views
1

晚上好 我要填寫的JPG圖片文件窗口屬性,如何填寫窗口EXIF標籤

顯然,這些都是exiftags

[Exif IFD0] Windows XP Title 
[Exif IFD0] Windows XP Author 
[Exif IFD0] Windows XP Subject 

我看着icafe.jar的一面,但有沒有找到這些標籤。 我可以使用icafe或其他jar庫嗎?

import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.util.ArrayList; 
import com.icafe4j.image.meta.Metadata; 
import com.icafe4j.image.meta.exif.Exif; 
import com.icafe4j.image.meta.jpeg.JpegExif; 
import com.icafe4j.image.meta.exif.ExifTag; 
import com.icafe4j.image.tiff.TiffTag; 
import com.icafe4j.image.tiff.FieldType; 

fin = new FileInputStream(Fm_filePathIn); 
fout = new FileOutputStream(Fm_filePathOut); 


List<Metadata> metaList = new ArrayList<Metadata>(); 
metaList.add(populateExif(JpegExif.class)); 

Exif populateExif(Class<?> exifClass) throws IOException { 

Exif exif = new JpegExif(); 

    exif.addImageField(ExifTag.WINDOWS_XP_AUTHOR, FieldType.WINDOWSXP, "Toto"); 
    exif.addImageField(ExifTag.WINDOWS_XP_KEYWORDS, FieldType.WINDOWSXP, "Copyright;Authorbisou"); 
// Insert ThumbNailIFD 
    // Since we don't provide thumbnail image, it will be created later from the input stream 
    exif.setThumbnailRequired(true); 

    return exif; 
    } 


     fin.close(); 
     fout.close(); 
+0

你有演示您如何使用該庫的任何代碼? – tadman

+0

這個代碼 此錯誤(我使用JavaScript中的FileMaker的常規擴展) groovy.lang.MissingPropertyException:沒有這樣的屬性:WINDOWS_XP_AUTHOR類:com.icafe4j.image.meta.exif.ExifTag – ericire

+0

我的意思是應用程序代碼,就像導致錯誤的代碼一樣。這個錯誤本身就非常有用。 – tadman

回答

0

這些標籤確實存在於ICAFE中,但它們不是Exiftag。他們是TiffTag。用TiffTag替換ExifTag,它會起作用。看看TestMetada.java,它清楚地表明瞭這一點。

import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

import com.icafe4j.image.meta.Metadata; 
import com.icafe4j.image.meta.exif.Exif; 
import com.icafe4j.image.meta.jpeg.JpegExif; 
import com.icafe4j.image.meta.exif.ExifTag; 
import com.icafe4j.image.tiff.TiffTag; 
import com.icafe4j.image.tiff.FieldType; 

public class TestWindowsXP { 

public static void main(String[] args) throws IOException { 

    FileInputStream fin = new FileInputStream(Fm_filePathIn); 
    FileOutputStream fout = new FileOutputStream(Fm_filePathOut); 

    List<Metadata> metaList = new ArrayList<Metadata>(); 

    Exif exif = new JpegExif(); 

    exif.addImageField(TiffTag.WINDOWS_XP_AUTHOR, FieldType.WINDOWSXP, "Toto"); 
    exif.addImageField(TiffTag.WINDOWS_XP_KEYWORDS, FieldType.WINDOWSXP, "Copyright;Authorbisou"); 
    // Insert ThumbNailIFD 
    // Since we don't provide thumbnail image, it will be created later from the input stream 
    exif.setThumbnailRequired(true); 

    metaList.add(exif); 
    Metadata.insertMetadata(metaList, fin, fout); 

    fin.close(); 
    fout.close(); 
} 
} 

下面是一個截圖,當我右鍵點擊得到的image-> show屬性。你可以看到你想插入的信息正在顯示。

enter image description here

+0

對不起,我沒有看到你的答案。 它的工作原理 謝謝 – ericire

+0

但如何填寫標題或主題標籤....? – ericire

+0

TiffTag.WINDOWS_XP_TITLE和TiffTag.WINDOWS_XP_SUBJECT – dragon66