gpt4 book ai didi

Java:如何在 jpeg 文件中编写自定义标签(程序员注意)

转载 作者:行者123 更新时间:2023-11-30 03:45:41 25 4
gpt4 key购买 nike

我想在 jpeg 文件中写入一些新的用户定义标签。我使用“org.apache.commons.imaging”库来处理java中的jpeg元数据。我只是不知道如何定义新的自定义标签;写入它,然后稍后读取标签的值。

这是我的代码,它读取 jpeg 文件并进行输出。

public void setExifCustomTag(final File jpegImageFile, final File dst) throws IOException,
ImageReadException, ImageWriteException {
OutputStream os = null;
boolean canThrow = false;
try {
TiffOutputSet outputSet = null;

final IImageMetadata metadata = Imaging.getMetadata(jpegImageFile);
final JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
if (null != jpegMetadata) {
// note that exif might be null if no Exif metadata is found.
final TiffImageMetadata exif = jpegMetadata.getExif();

if (null != exif) {
outputSet = exif.getOutputSet();
}
}
if (null == outputSet) {
outputSet = new TiffOutputSet();
}



TagInfoAscii tag1 = new TagInfoAscii("custom tag", 1, 20, TiffDirectoryType.EXIF_DIRECTORY_MAKER_NOTES);
outputSet.getExifDirectory().add(tag1, "custom value");

TiffOutputField to = outputSet.findField(tag1);
//How should I read the value ???????????????

os = new FileOutputStream(dst);
os = new BufferedOutputStream(os);

new ExifRewriter().updateExifMetadataLossless(jpegImageFile, os,
outputSet);
canThrow = true;
} finally {
IoUtils.closeQuietly(canThrow, os);
}
}

最佳答案

我无法将其作为评论,因此我必须转到此处:

您的问题需要一些澄清。 JPEG 文件格式有很多种。编写自定义标签的过程[某种]因这些格式而异。

您可以在任何 JPEG 文件中编写带有文本的 COM 标记。只要您不使用特定文件格式使用的 APPn 标记之一,您就可以在 JPEG 文件中编写您想要的任何 APPn 营销内容。

在 Exif 中,定义了一个 UserComment 标记,您可以将其用于您自己的数据。

您的示例假定 EXIF 是文件格式。

关于Java:如何在 jpeg 文件中编写自定义标签(程序员注意),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com