0

2 つの方向属性を含む画像があります。画像のメタ データを読み取ろうとすると、常に 2 番目の方向属性から値が返されます。

最初の向きの値を読み取る方法はありますか?

2つのファイルを添付しました。1は画像、2はテキストファイル形式の画像のメタデータです。

  1. 画像 ここに画像の説明を入力

  2. メタデータ ファイルここに画像の説明を入力

以下に示すコードを使用しています。

public int getImage(String name,String outputFileName) throws ImageProcessingException, IOException {

        Metadata metadata;
        try {
            File f = new File(name);
            metadata = ImageMetadataReader.readMetadata(f);

            for (Directory directory : metadata.getDirectories()) {
                for (Tag tag : directory.getTags()) {

                    if(tag.getTagName().equals("Orientation")){
                        final Integer index = directory.getInteger(274);
                        System.out.format("[%s] - %s = %s",
                                directory.getName(), tag.getTagName(),index);
                        BufferedImage image = getRotatedImage(f,index);
                        File img = new File(outputFileName+".png");
                        ImageIO.write(image,"png",img);
                        //return 0;

                    }
                }
                if (directory.hasErrors()) {
                    for (String error : directory.getErrors()) {
                        System.err.format("ERROR: %s", error);
                    }
                }
            }
        } catch (ImageProcessingException e) {
            System.out.println("Image processing exception while rotating image");
            throw e;
        } catch (IOException e) {
            System.out.println("IO exception while rotating image");
            throw e;
        }
        return 0;
    }
4

1 に答える 1