Ich frage, ob es einen einfachen Weg gibt, weil es einen Google-Problembericht gibt, der sagt, dass die Verwendung von decodeByteArray nicht möglich ist. Aber dieser Bericht entstand 2008 und ich hatte gehofft, dass dort eine Lösung nicht veröffentlicht wurde. Die Methode, die im Problembericht aufgelistet ist, sollte das Format selbst entschlüsseln, aber ich würde es vorziehen, das nicht zu tun und das Programm zu verlangsamen. Jede Hilfe würde geschätzt werden.Gibt es eine einfache Möglichkeit, das Byte-Array aus dem onPreviewFrame der Kamera in ein Bild in Android zu verwandeln?
Antwort
Der einfachste Weg ist, ein BufferedImage die folgende Weise zu erzeugen:
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0. data.length);
Daten sind der Byte-Array.
Ich nehme an, Ihr Byte-Array stammt aus der Kameravorschau? Wenn ja, müssen Sie es entschlüsseln, aber mit 2.2 ist es jetzt ganz einfach.
Erstellen ein YUV-Bild aus dem Array Byte als die Daten nur in ImageFormat.NV21(int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
ein Rechteck mit der gleichen Größe wie das Bild erstellen sein.
Erstellen Sie eine ByteArrayOutputStream
und übergeben Sie dieses, das Rechteck und den Komprimierungswert an compressToJpeg()
.
Dann können Sie
Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
ich diese verwenden für jeden Frame in den Rückruf verwenden und es funktioniert gut. Hoffe das hilft.
Können Sie Ihren Code richtig anzeigen? – Nepster
- 1. Gibt es eine einfache Möglichkeit, ein int in ein Array von Ints jeder Ziffer zu verwandeln?
- 2. Gibt es eine einfache Möglichkeit, eine App in eine Komponente einer anderen App zu verwandeln
- 3. Gibt es eine einfache Möglichkeit, leere Java/Spring-Formulareingabe in leere Strings zu verwandeln?
- 4. Gibt es eine einfache Möglichkeit, in verschachtelten Seqs in Scala aus dem Rahmen zu gehen?
- 5. Capture ein Bild aus der Kamera Vorschau
- 6. Gibt es eine einfache Möglichkeit, das Alphabet programmatisch zu erhalten?
- 7. Gibt es eine einfache Möglichkeit, Routing in JSF zu implementieren?
- 8. Gibt es eine einfache Möglichkeit zu überprüfen, ob ein eingehender Anrufer ein Kontakt in Android ist?
- 9. Gibt es eine einfache Möglichkeit, ein ASP.NET-Formular zu löschen?
- 10. Gibt es eine einfache Möglichkeit, Kriterien in HQL zu konvertieren?
- 11. Android: conerting Bild in byteArray
- 12. Gibt es eine einfache Möglichkeit, Bildabmessungen in Ruby zu erhalten?
- 13. Gibt es eine einfache Möglichkeit, JavaScript in WebStorm zu bewerten?
- 14. Gibt es eine einfache Möglichkeit, das FIRST LinqToXML-Ergebnis zurückzugeben?
- 15. UIImagePickerController einfache Möglichkeit, Bibliothek Schaltfläche in der Kamera zu zeigen
- 16. Kamera onPreviewFrame nicht auf XT910
- 17. Gibt es eine Möglichkeit, ein Gif-Bild aus mehreren Bildern in Java zu erstellen?
- 18. Gibt es eine einfache Möglichkeit, eine Tabelle in Prozedur umzubenennen?
- 19. Gibt es eine einfache Möglichkeit, ein Wort aus einem Datenbanktabellenfeld mit soundex zu vergleichen?
- 20. Gibt es eine Möglichkeit, eine reguläre Zeichenfolge in ActionScript 3 in ein ByteArray mit lateinischen Zeichencodes zu konvertieren?
- 21. Gibt es eine einfache Möglichkeit, Hoptoad mit CakePHP zu verwenden?
- 22. Gibt es eine Möglichkeit, eine Kamera schnell in den Querformatmodus zu versetzen?
- 23. Gibt es eine einfache Möglichkeit, mit Basscss zu beginnen?
- 24. Gibt es eine einfache Möglichkeit, einen Code TextBox zu erstellen?
- 25. Gibt es eine einfache Möglichkeit, alle gängigen Modulerweiterungen zu erhalten?
- 26. Gibt es eine einfache Möglichkeit, meine Apple-Apps in Android-Apps zu konvertieren?
- 27. Wie konvertiert man Bytearray zu Bild oder Bild zu Bytearray?
- 28. Gibt es eine einfache Möglichkeit, InternalsVisibleToAttribute zu verwenden?
- 29. Gibt es eine einfache Möglichkeit, mit Open MPI zu klingeln?
- 30. Gibt es eine einfache Möglichkeit, Mediendateien in .NET abzuspielen?
Ähm sind Sie sicher, dass das in Android funktioniert? Ich kann kein Referenzmaterial für BufferedImage oder ImageIO finden. Es ist in der Java-Sprachreferenz aufgeführt, aber nicht Android – RyoxSinfar
Ja, ich kopierte den falschen Code. Ich habe meine Antwort geändert. Es tut uns leid. – RoflcoptrException
THats, was ich ursprünglich dachte, war die Antwort, aber es gibt mir eine Null-Bitmap zurück. – RyoxSinfar