ImgUtil.scale会在某些图片压缩之后自动旋转90度

需要的jar依赖:

            
                com.drewnoakes
                metadata-extractor
                2.16.0
            

String file = "C:\\Users\\52659\\Desktop\\temp2\\ee5cf73916bb4149b17b854901641fe7.jpg";
        ImgUtil.scale(
                FileUtil.file(file),
                FileUtil.file(file+"_s.jpg"),
                0.5f//缩放比例
            );
        
        // 获取偏转角度
        int angle = getAngle(new File(file));
        System.out.println(angle);
        
        ImgUtil.rotate(FileUtil.file(file+"_s.jpg"),angle,FileUtil.file(file+"_s.jpg"));

private static int getAngle(File file) throws Exception {
       // Metadata metadata = ImageMetadataReader.readMetadata(file.getInputStream());
        Metadata metadata = ImageMetadataReader.readMetadata(file);
        for (Directory directory : metadata.getDirectories()) {
            for (Tag tag : directory.getTags()) {
                if ("Orientation".equals(tag.getTagName())) {
                    String orientation = tag.getDescription();
                    if (orientation.contains("90")) {
                        return 90;
                    } else if (orientation.contains("180")) {
                        return 180;
                    } else if (orientation.contains("270")) {
                        return 270;
                    }
                }
            }
        }
        return 0; 
    }

你可能感兴趣的:(java,前端,服务器)