여기 내 코드입니다 :BufferedImage의 래스터 데이터의 BufferedImage하는
이byte[] pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
BufferedImage newImage = new BufferedImage(image.getWidth(), image.getHeight(), image.getType());
WritableRaster raster = newImage.getRaster();
raster.setDataElements(0, 0, image.getWidth(), image.getHeight(), pixels);
newImage.setData(raster);
ImageIO.write(newImage, "jpg", new File("newimage.jpg"));
이 코드는 바로 내 모습과 내가하고 싶은 일을해야한다. 이미지의 픽셀 데이터를 가져 와서 원본 이미지와 완전히 같아야하는 새 이미지를 만드는 데 사용합니다. 그러나 저장되는 이미지의 색이 원본과 다릅니다. 왜?
결국 픽셀 바이트를 조작해야하지만 지금은 왜 다른 이미지를 제공하는지 알 수 없습니다.
귀하의 (바람직하게 작은) 원본 입출력 이미지에 대한 링크를 게시 할 수 있습니까? – haraldK