Java判断图片是grb还是cmyk

public static boolean isRgbOrCmyk(String filename) throws IOException {
        File file = new File(filename);
        boolean isRgb=true;//true是Rgb否则是Cmyk
        //创建输入流
        ImageInputStream input = ImageIO.createImageInputStream(file);
        Iterator readers = ImageIO.getImageReaders(input);
        if (readers == null || !readers.hasNext()) {
            throw new RuntimeException("No ImageReaders found");
        }
        ImageReader reader = (ImageReader) readers.next();
        reader.setInput(input);
        //获取文件格式
        BufferedImage image;
            try {
                // 尝试读取图片 (包括颜色的转换).
               reader.read(0); // RGB
                isRgb=true;
            } catch (IIOException e) {
                // 读取Raster (没有颜色的转换).
              reader.readRaster(0, null);// CMYK
                isRgb=false;
            }
        return  isRgb;
}


你可能感兴趣的:(groovy,garils,java)