我需要从 TIFF 文件中提取嵌入的 ICC 配置文件。我可以阅读IIOMetadata
并且我的 IDE 显示ifd
包含 ICC 配置文件的字段(标签 ID 34675)。但是我怎样才能把它读到一个ICC_Profile
对象上呢?
ImageInputStream input = ImageIO.createImageInputStream(file);
try {
ImageReader reader = ImageIO.getImageReaders(input).next();
if (reader == null) {
throw new IllegalArgumentException("No image reader for file: " + file);
}
try {
reader.setInput(input);
IIOMetadata metadata = reader.getImageMetadata(0);
// metadata contains a field "ifd" containing the ICC profile
// How to extract it?
} finally {
reader.dispose();
}
} finally {
input.close();
}