ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
433
433
EMPFEHLEN
-
Ich habe ein Bild als byte[] vorliegen und benoetige die Angaben zu Breite und Hoehe. Im Unterschied zu der Erzeugung mittels File gibt folgender Weg Nullwerte fuer width/height.
Code :1 2 3 4 5
byte[] bytes = imageToByteArray(); ByteArrayInputStream input = new ByteArrayInputStream(bytes); SeekableStream s = SeekableStream.wrapInputStream(input, true); RenderedOp image = JAI.create("stream", s); image.getWidth();
Gibt es einen Weg an diese Info zu kommen ohne andere Libs wie AWT zu benutzen?
Danke und Gruss,
Babette
-
30.11.10 15:41 #2
Die Frage ist in welchem Format die binärdaten vorliegen? Auf alle Fälle, folgendes Snippet legt ein Bild zuerst komplett in den Speicher und liest von dort das Bild und nicht direkt über den FileInputStream:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
File file = new File("C:\\Temp\\SYSTEM_20101129_154536.jpg"); InputStream is = null; try { // is = new FileInputStream(file); byte[] b = new byte[(int) file.length()]; FileInputStream fis = null; try { fis = new FileInputStream(file); fis.read(b); } finally { if(fis != null) { try { fis.close(); } catch(IOException e) { e.printStackTrace(); } } } is = new ByteArrayInputStream(b); BufferedImage bfImage = ImageIO.read(is); System.out.println("x=" + bfImage.getWidth() + ",y=" + bfImage.getHeight()); } catch(Exception e) { e.printStackTrace(); } finally { if(is != null) { try { is.close(); } catch(IOException e) { e.printStackTrace(); } } }
Es macht also keinen Unterschied ob ich als InputStream einen FileInputStream habe od. einen ByteArrayInputStream.Fann Ég Fjalli Fallega Steina
Faldi Dá Alla Vildi Deim Leyna
Huldi Dar Hellisskúta Heillasteina
Alla Mína Una eth slegu Óskasteina
-
Danke fuer Deinen Hinweis, irgendwas scheint aber doch anders zu sein.
Die Daten werden ueber Tomahawk t:inputFileUpload hochgeladen, liegen also als org.apache.myfaces.custom.fileupload.UploadedFile vor, dann benutze ich die Methode getBytes(), die mir ein byte[] liefert, welches ich in einen ByteInputStream packe.
-
03.12.10 15:42 #4
Was für ein Bild wird den hochgeladen - welches Format? Ich nehme an Du hast ein Test-Bild (zB JPEG, GIF) das Du über ein HTML-Formular auswählst und an deinen Server schieckst?
Du kannst ja im ersten Schritt das Snippet oben auf dein Test-Bild anwenden. Wenn Du dann Breite und Höhe bekommst, kannst Du den Code vielleicht so in dein Servlet übernehmen.
Wenn Du dann keine Werte bekommst, solltest Du evtl. das byte-Array welches Dir die getBytes-Methode liefert auf die Festplatte speichern und mit deinem Test-Bild vergleichen. Eigentlich sollten diese ja 100% identisch sein und auch dein Bildbearbeitungsprogramm sollte das Bild darstellen können.Fann Ég Fjalli Fallega Steina
Faldi Dá Alla Vildi Deim Leyna
Huldi Dar Hellisskúta Heillasteina
Alla Mína Una eth slegu Óskasteina
Ähnliche Themen
-
Div mit 100% width und height
Von socke999 im Forum CSSAntworten: 20Letzter Beitrag: 15.07.10, 05:49 -
Layout mit 100% height und width
Von alex130 im Forum CSSAntworten: 39Letzter Beitrag: 28.02.07, 17:15 -
height/width - Berechnung
Von Crach im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 26.11.06, 13:03 -
Iframe mit width und height 0
Von gio im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 13.02.06, 21:50 -
height und width
Von maho15 im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 18.07.02, 19:53





Zitieren
Login





