Aus*_*ris 4 java jpeg exif metadata
我正在开发一个程序,它本质上将成为专用JPEG图像的EXIF数据压模.
GUI将包含一个搜索框,一个加载按钮和一个显示EXIF数据的显示框.但我正在与读者讨论一个问题:
public class MetaRead {
public String readCustomData(byte[] imageData, String key) throws IOException{
ImageReader imageReader = ImageIO.getImageReadersByFormatName("JPEG").next();
imageReader.setInput(ImageIO.createImageInputStream(new ByteArrayInputStream(imageData)), true);
// read metadata of first image
IIOMetadata metadata = imageReader.getImageMetadata(0);
//this cast helps getting the contents
JPEGMetadata JPEGmeta = (JPEGMetadata) metadata;
NodeList childNodes = JPEGmeta.getStandardTextNode().getChildNodes();
for (int i = 0; i < childNodes.getLength(); i++) {
Node node = childNodes.item(i);
String keyword = node.getAttributes().getNamedItem("keyword").getNodeValue();
String value = node.getAttributes().getNamedItem("value").getNodeValue();
if(key.equals(keyword)){
return value;
}
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误{JPEGMetadata JPEGmeta = (JPEGMetadata metadata;} "JPEGMetadata无法解析为类型"
原始代码用于PNG,所以我用带有查找/替换的JPEG替换了所有PNG.
Tux*_*Tux 23
好的,好吧.我不知道如何解释这一点而不是直言不讳.
在编程中,你不能改变对象的名称PNGMetadata,以JPEGMetadata和期望它的工作.
你看,该对象PNGMetadata被开发用于PNG图像并且仅用于PNG图像.您不能只将名称更改为JPEG并期望它适用于它.
如果你需要一些适用于JPEG的东西,我可以推荐一个库来读取JPEG元数据.请参阅以下链接.
https://drewnoakes.com/code/exif/
| 归档时间: |
|
| 查看次数: |
3848 次 |
| 最近记录: |