2013-01-03 3 views
-3

이미지를 저장하려고합니다. 기호를 찾을 수 없습니다int []를 바이트 배열로 변환하고 바이트 배열을 이미지로 변환

기호 : : 방법 쓰기 (java.awt.Image의, java.lang.String의, 자바 - BT는 바이트 배열

InputStream is = new ByteArrayInputStream(bt); 
Image img = ImageIO.read(is); 
ImageIO.write(img,"jpg",new File("C:\\home_loan.jpg")); 
, 저를 도와주세요

오류입니다 .io.File)

위치 : 클래스 javax.imageio.ImageIO

ImageIO.write (IMG, "JPG"새로운 파일 ("C : \ home_loan.jpg"));

^ 
+3

형식 코드를 다음 사용할 수 있습니다! – MrSmith42

+0

내가 새로운 tothis 사이트 그래서 내가 몰라 방법을 몰라 부탁합니다 – user1944988

+1

코드 하나는 4 칸을 들여 쓰기해야합니다. –

답변

0

먼저 당신은 매핑 한 바이트 또는 다중 바이트 (얼마나 많은) 한 INT 한 INT인지 알 필요가있다. 그런 다음 후자 인 경우 빅 엔디안 또는 리틀 엔디안인지 여부를 알아야합니다.

이미지의 경우 이미지 형식이 무엇인지 (그리고 JPG에는 실제로 여러 가지 변형이 있음) 단서가 있어야합니다.

+0

pls이 위 코드에서 무엇을 변경해야 이미지를 저장할 수 있는지 알 수 있습니다. – user1944988

+0

img는 RenderedImage가되어야합니다 (ImageIO.write의 스펙 참조). –

+0

('Image img'을'BufferedImage img'으로 변경하십시오.) BufferedImage는 RenderedImage 인터페이스를 구현합니다. –

0

BufferedImage을 사용하십시오. 이 이미지는 메모리에 의해 뒷받침되며 두 개의 setRGB 메쏘드가 있습니다.

데이터를 그에 맞게 조정하십시오. 그렇지 않으면 하나의 BufferedImage에서 작업하면서 데이터 구조를 변환해야합니다.

0

당신은 methods-

/** 
* @param path full path of image 
* @return image file for supplied path 
*/ 
private BufferedImage getImage(String path) { 
    BufferedImage image = null; 
    File file = new File(path); 
    try { 
     image = ImageIO.read(file); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    return image; 
} 

/** 
* @param userSpaceImage 
* @return byte array of supplied image 
*/ 
private byte[] getByteData(BufferedImage userSpaceImage) { 
    WritableRaster raster = userSpaceImage.getRaster(); 
    DataBufferByte buffer = (DataBufferByte) raster.getDataBuffer(); 
    return buffer.getData(); 
} 

/** 
* @param image image-file to save 
* @param file to save image to 
* @param extension of image file 
* @return full path of saved image 
*/ 
private String saveImage(BufferedImage image, File file, String extension) { 
    try { 
     ImageIO.write(image, extension, file); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
    return file.getAbsolutePath(); 
} 
관련 문제