Ich habe Probleme, ein Byte [] zu einem BufferedImage zu konvertieren. Ich weiß, dass es viele Posts und Fragen-Antworten gibt, aber ich kann nicht verstehen, warum mein Code falsch ist. (Fehler: Ausnahme im Thread "main" java.lang.IllegalArgumentException: image == null!)Konvertiere ein Byte [] in ein BufferedImage
Vielen Dank!
try {
String hex = "57656c636f6d652c206d7920667269656e642e";
byte[] im = DatatypeConverter.parseHexBinary(hex);
InputStream in = new ByteArrayInputStream(im);
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIO.write(bImageFromConvert, "jpg", new File("c:/welcome.jpg"));
} catch (Exception ex) {
}
Ok, so entschlüsselte ich die Hex-Zeichenfolge und es heißt "Willkommen, mein Freund." ImageIO.read() liest Dateien wie JPGs und PNGs. Was hast du erwartet mit einer Reihe von Ascii? – slipperyseal
Um Text in ein Bild zu konvertieren, müssen Sie ein gepuffertes Bild der erforderlichen Größe erstellen, den Hintergrund wie gewünscht ausfüllen, eine Farbe festlegen, eine Schriftart festlegen und dann die Zeichenkette darauf zeichnen. Sie können nicht einfach Text in ein Bild mit ein paar Zeilen Code (nicht mit der Java-Standard-Bibliothek sowieso) – slipperyseal
Sie können nicht sehen, warum Ihr Code falsch ist? Wie kannst du dir überhaupt vorstellen, dass dein Code richtig war? – Kayaman