我需要知道如何检查给定的 jpeg 图像中是否包含 iptc 内容?这应该用 java 来完成。因为我是这个技术的新手。有人可以帮助解决这个问题。
问问题
1210 次
2 回答
1
你可以使用这个库,
支持的元数据:
IPTC (JPEG, TIFF, EPS, PSD)
EXIF (JPEG, TIFF, PSD)
XMP (JPEG, TIFF, EPS, PSD)
Wang Annotations (read only)
ImageResourceBlock
ImageFileDirectrory
JPEG Markers
从一个图像中获取 IPTC 元数据并将其插入到另一个图像中:
String source = "C:\\images\\source.jpg";
String destination = "C:\\images\\destination.jpg";
IOParameterBlock iopb = new IOParameterBlock(source);
iopb.setDestination(destination);
IPTCEntryCollection collection = IPTC.getIPTC(iopb);
IPTC.insertIPTC(collection, iopb);
- 编辑(教程):
于 2012-01-25T12:42:46.757 回答
0
使用元数据提取器很简单,这是一个用于读取元数据的开源项目 - 托管在谷歌代码上。
支持的目录
- Exif
- IPTC
- XMP
- JFIF / JFXX
- ICC 配置文件
- Photoshop
例子
从 IPTC 目录中读取标题标签。有一个入门章节。
File file = new File("input.jpg");
// read meta data from image
Metadata metadata = ImageMetadataReader.readMetadata(file);
// get all existing directories
metadata.getDirectories();
// check whether the iptc directory exists
if (metadata.containsDirectory(IptcDirectory.class))
{
// read headline from iptc directory
IptcDirectory directory = metadata.getDirectory(IptcDirectory.class);
directory.getString(IptcDirectory.TAG_HEADLINE);
}
相机支持
该库还读取特定于相机的数据
- 爱克发
- 佳能
- 卡西欧
- 爱普生
- 富士胶片
- 柯达
- 京瓷
- 徕卡
- 美能达
- 尼康
- 奥林巴斯
- 松下
- 宾得
- 三洋
- 西格玛/Foveon
- 索尼
于 2013-01-03T02:09:55.323 回答