Ich möchte Byte-Array von JPEG in Java konvertieren. Unten Code macht meine Anfrage falsch.Konvertieren in Bytes von JPEG in Java
BufferedImage img=Image.read("C:\blabla");
WritableRaster raster=img.getRaster();
DataBufferByte buffer=(DataBufferByte)raster.getDataBuffer();
byte[] jpegbytes=buffer.getData();
Bei der Ausführung gibt es falsche Byte-Nummer. JPEG hat eine Größe von 845,941 Bytes auf der Festplatte. Aber es gibt Größe 2 359 296 Bytes in jpegbytes
zurück. Wie kann ich den Bytewert korrigieren? Ich denke, BufferedImage
Klasse bekommt falsch.
Jpegs sind komprimierte Daten. Wenn Sie denken, dass die JPEG-Datei die "richtige Größe" hat, ermitteln Sie die Dateigröße und lesen Sie das Bild nicht in "BufferedImage". – fabian
Welche 'Image' Klasse verwenden Sie? Ich sehe keine 'read'-Methode in der [JDK] (https://docs.oracle.com/javase/8/docs/api/java/awt/Image.html) – 4castle
@ 4castle die Klasse ist' javax .imageio.ImageIO', ich denke, der OP hat einen Tippfehler gemacht. – Sam