byte[]
을 BufferedImage
으로 변환하는 방법에 대한 몇 가지 예제를 확인했지만 제대로 작동하지 않는 것 같습니다. ImageByteArray를 BufferedImage로 변환합니다.
BufferedImage b = null, c=null;
try {
b = ImageIO.read(Main.class.getResource("res/lvl/Medieval.png"));
} catch (IOException e) {
e.printStackTrace();
}
byte[] imageByteArray = ((DataBufferByte) b.getRaster().getDataBuffer()).getData();
가 그럼 난 그것을 다시 변환하려고 : 난과 바이트 배열에 이미지를 변환
ByteArrayInputStream bais = new ByteArrayInputStream(imageByteArray);
try {
c = ImageIO.read(bais);
} catch (IOException e) {
e.printStackTrace();
}
c
여전히이 후 null
입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
나는이 문제가 글쓰기에 있다고 생각한다. – Azad
흠 .. 여기에 당신의 의도가 조금 불분명하다고 생각합니다. 원시 픽셀 데이터에 대한 조작을 원하십니까? 그런 다음 데이터에서 새 이미지를 만들 필요가 없으며 변경 사항이 이미지에 반영됩니다. 또는 이미지의 사본을 만들고 싶습니까? – haraldK
이미지를 복사하려는 경우 더 쉬운 방법이 있습니다. 또한 이미지가'DataBufferByte'를 사용하고 있다는 가정은 모든 이미지에 대해 올바르지 않을 것입니다. – haraldK