Informationen zum speichern eines byte-Arrays als image-Datei auf der Festplatte?
Ich habe ein byte-array-Repräsentation eines Bildes. Wie speichern Sie es auf der Festplatte als image-Datei.
Habe ich dies bereits getan
OutputStream out = new FileOutputStream("a.jpg");
out.write(byteArray);
out.flush();
out.close();
Aber wenn ich öffnen Sie das Bild, indem Sie es doppelklicken, es zeigt keinen Bild.
meinst du, schreiben Sie es als PNG-oder JPG-oder einfach nur so, dass Sie es Lesen können zurück in die irgendwann?
Sie haben die Art von array übergeben werden können Bild.setRGB?
Wo hast du denn den byte[] aus? Sie müssen wissen, welches format es hat (JPEG, GIF, PNG, BMP...)
Ich denke, dies ist bezogen auf seine andere Frage : stackoverflow.com/questions/2138961/...
Sie haben die Art von array übergeben werden können Bild.setRGB?
Wo hast du denn den byte[] aus? Sie müssen wissen, welches format es hat (JPEG, GIF, PNG, BMP...)
Ich denke, dies ist bezogen auf seine andere Frage : stackoverflow.com/questions/2138961/...
InformationsquelleAutor Yatendra Goel | 2010-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere als Versagen an, die mit einem try/finally-block (zumindest in dem code, den Sie gezeigt haben), dass sollte in Ordnung sein. (Sie brauchen nicht zu Spülen, ein Ausgabe-stream, wenn Sie es schließen, übrigens.)
Als es nicht funktioniert, dass bedeutet
byteArray
nicht eigentlich enthalten eine JPEG-kodierten Bild. Wie haben Sie erstelltbyteArray
mit zu beginnen? Wenn es ein "raw" - Darstellung, werden Sie wahrscheinlich wollen, um zu codieren, z.B. mit dem javax.imageio Paket.Könntest du auch bitte schauen bei stackoverflow.com/questions/2132657/... ................. Eigentlich alle mir vorgeschlagen, um die Verwendung der MVC-Architektur von swing.... aber ich möchte das nicht beantworten.... Ich weiß schon... ich möchte einen Vorschlag oder ein Beispiel von swing, die gui-code gliedert sich in mehrere Dateien... so dass ich herausfinden kann, ist mein eigenes problem... ich suchte bei google eine Menge, aber könnte nicht zum Beispiel...
InformationsquelleAutor Jon Skeet
Könnten Sie die FileOutputStream Klasse:
InformationsquelleAutor Darin Dimitrov
Können Sie ImageIO-API.
Details kann ein bisschen haarig, aber zunächst werden Sie wahrscheinlich wollen ein BufferedImage mit TYPE_BYTE_INDEXED geben und einige passende IndexColorModel Instanz. Dann stellen Sie Ihre byte-array gibt. Hinweis: Sie können die interne Darstellung des BufferedImage mit:
Wird wahrscheinlich zurückkehren, einem Daten-Puffer-Typ DataBufferByte (check!), von denen bekommst du ein byte-array mit
Dann können Sie System.arraycopy zum kopieren von byte-Arrays auf.
InformationsquelleAutor Joonas Pulakka