2017-03-16 55 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