Über Bild konvertieren byte [] - und Rückseite in Java

habe ich ein problem, wenn ich das Bild konvertieren byte[] und Umgekehrt:

Ich habe 2 Funktion Bild konvertieren byte[] wie folgt

public byte[] extractBytes2 (String ImageName) throws IOException {
    File imgPath = new File(ImageName);
    BufferedImage bufferedImage = ImageIO.read(imgPath);
    WritableRaster raster = bufferedImage .getRaster();
    DataBufferByte data   = (DataBufferByte) raster.getDataBuffer();    
    return ( data.getData() );
}

und

public byte[] extractBytes (String ImageName) throws IOException 
{
    Path path = Paths.get(ImageName);
    byte[] data = Files.readAllBytes(path);
    return data;
}

Habe ich byte[] byteArray

byteArray = extractBytes2("image/pikachu.png");

oder

byteArray = extractBytes("image/pikachu.png");

wenn ich konvertieren byte[] Bild, das ich verwenden

Graphics g = panelMain.getGraphics();
    Graphics2D g2D = (Graphics2D) g;
    try {
        InputStream in = new ByteArrayInputStream(byteArray);
        BufferedImage image = ImageIO.read(in);
        g2D.drawImage(image, 0, 0, GiaoDienChinh.this);
        g2D.setPaint(Color.BLACK);
        panelMain.setOpaque(true);
        panelMain.paintComponents(g2D);
    }
    catch ( Exception e ) {           
    }
    finally {       
    }       

aber ich nur zeichnen mit byteArray-Funktion "extractBytes" nicht mit "extractBytes2" !!!

Jemand kann mir erklären, wie ich die zeichnen können Bild mit byteArray, die von "extractByte2"?

Dank für alle Unterstützung!

Ich verstehe eigentlich nicht, das problem: ist die Methode extractBytes2 nicht funktioniert bzw. nicht aufgerufen wird oder nicht byteArray immer hält das Ergebnis extractBytes wenn Sie das Bild zu zeichnen?

InformationsquelleAutor dleviathan | 2012-11-08

Schreibe einen Kommentar