Rotation Byte Array von JPEG nach onPictureTaken

Gibt es eine Möglichkeit, das Byte-Array zu drehen, ohne es auf Bitmap zu entschlüsseln?

Derzeit in jpeg PictureCallback Ich schreibe nur Byte-Array direkt in Datei. Aber Bilder werden gedreht. Ich möchte sie drehen, ohne zu dekodieren zu Bitmap mit der Hoffnung, dass dies meine Erinnerung bewahren wird.

  • So verwenden Sie Adapter beim Füllen von Layouts
  • Android Studio macht kein WebP-Format
  • Warum haben die meisten Android-Geräte keinen Swap-Bereich als typisches Betriebssystem?
  • Einfache Zuordnung mit falschem Wert
  • Android änderung Horizonal Fortschrittsbalkenfarbe
  • Gradle: Wie kann ich ein lokales Jar aus einem abhängigen Java-Projekt in einem Android-Build?
  • BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeByteArray(data, 0, data.length, o); int orientation; if (o.outHeight < o.outWidth) { orientation = 90; } else { orientation = 0; } File photo = new File(tmp, "demo.jpeg"); FileOutputStream fos; BufferedOutputStream bos = null; try { fos = new FileOutputStream(photo); bos = new BufferedOutputStream(fos); bos.write(data); bos.flush(); } catch (IOException e) { Log.e(TAG, "Failed to save photo", e); } finally { IOUtils.closeQuietly(bos); } 

  • Android: Gesamte Datenbank löschen
  • ListFragment "Content View noch nicht erstellt" auf Rotate
  • Wie kann ich den Inhalt vor dem Rendern in Android WebView ändern?
  • Gibt es einen Plan, Android PdfRenderer in eine Support-Bibliothek aufzunehmen?
  • Wie füge ich einen Abschnitt Trennzeichen für Navigation Schublade in Android?
  • Speichern von ArrayListen in SQLite-Datenbanken
  • 3 Solutions collect form web for “Rotation Byte Array von JPEG nach onPictureTaken”

    Ich glaube nicht, dass es eine solche Möglichkeit gibt. Bytes Reihenfolge hängt von Bildcodierung (png, jpeg). So bist du gezwungen, das Bild zu entschlüsseln, um etwas damit zu tun.

    Sie können die JPEG-Umdrehung über Exif-Header einstellen, ohne sie zu decodieren. Dies ist die effizienteste Methode, aber einige Zuschauer können noch ein gedrehtes Bild zeigen.

    Alternativ können Sie JPEG verlustfreie Rotation verwenden . Leider bin mir keine freien Java-Implementierungen dieses Algorithmus bekannt.

    Update auf SourceForge, gibt es eine Java Open Source Klasse LLJTran . Der Android-Port befindet sich auf GitHub .

    Versuche dies. Es wird den Zweck lösen.

     Bitmap storedBitmap = BitmapFactory.decodeByteArray(data, 0, data.length, null); Matrix mat = new Matrix(); mat.postRotate("angle"); // angle is the desired angle you wish to rotate storedBitmap = Bitmap.createBitmap(storedBitmap, 0, 0, storedBitmap.getWidth(), storedBitmap.getHeight(), mat, true); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.