Java Image CMYK2RGB

来源:互联网 发布:天天时时彩计划软件 编辑:程序博客网 时间:2024/05/16 11:18
常用的方法1:private BufferedImage convertCMYK2RGB(BufferedImage image) throws IOException{    log.info("Converting a CYMK image to RGB");    //Create a new RGB image    BufferedImage rgbImage = new BufferedImage(image.getWidth(), image.getHeight(),    BufferedImage.TYPE_3BYTE_BGR);    // then do a funky color convert    ColorConvertOp op = new ColorConvertOp(null);    op.filter(image, rgbImage);    return rgbImage;}
常用方法2:
File f = new File("/path/imagefile.jpg");    //Find a suitable ImageReader    Iterator readers = ImageIO.getImageReadersByFormatName("JPEG");    ImageReader reader = null;    while(readers.hasNext()) {        reader = (ImageReader)readers.next();        if(reader.canReadRaster()) {            break;        }    }    //Stream the image file (the original CMYK image)    ImageInputStream input =   ImageIO.createImageInputStream(f);     reader.setInput(input);     //Read the image raster    Raster raster = reader.readRaster(0, null);     //Create a new RGB image    BufferedImage bi = new BufferedImage(raster.getWidth(), raster.getHeight(),     BufferedImage.TYPE_4BYTE_ABGR);     //Fill the new image with the old raster    bi.getRaster().setRect(raster);    public static Image convertCMYK2RGB(File file) throws IOException{        Image image = null;        try {            image = ImageIO.read(file);        } catch (Exception e) {            ImageInputStream input = ImageIO.createImageInputStream(file);            @SuppressWarnings("rawtypes")            Iterator readers = ImageIO.getImageReaders(input);            if(readers == null || !readers.hasNext()) {                throw new RuntimeException("1 No ImageReaders found");            }            ImageReader reader = (ImageReader) readers.next();            reader.setInput(input);            Raster raster = reader.readRaster(0, null);//CMYK              image = createJPEG4(raster);        }        return image;    }

原文地址:http://stackoverflow.com/questions/2408613/problem-reading-jpeg-image-using-imageio-readfile-file

原创粉丝点击