Tôi hỏi nếu có một cách đơn giản vì có một báo cáo vấn đề google nói rằng việc sử dụng decodeByteArray là không thể. Nhưng báo cáo đó bắt nguồn từ năm 2008 và tôi đã hy vọng có một giải pháp không được đăng trên đó. Phương pháp được liệt kê trong báo cáo vấn đề là tự giải mã định dạng, nhưng tôi không muốn đặt nó vào và làm chậm chương trình. Bất kì sự giúp đỡ nào cũng được hoan nghênh.Có cách nào đơn giản để biến mảng byte từ onPreviewFrame của máy ảnh thành hình ảnh trong Android?
Có cách nào đơn giản để biến mảng byte từ onPreviewFrame của máy ảnh thành hình ảnh trong Android?
Trả lời
Cách đơn giản nhất là tạo ra một BufferedImage theo cách sau:
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0. data.length);
dữ liệu là mảng byte.
Tôi giả sử mảng byte của bạn là từ bản xem trước máy ảnh? Nếu vậy bạn phải giải mã nó nhưng với 2.2 nó khá dễ dàng bây giờ.
Tạo một hình ảnh YUV từ mảng byte như là dữ liệu sẽ chỉ có trong ImageFormat.NV21(int code 17)
img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);
Tạo một hình chữ nhật kích thước tương tự như hình ảnh.
Tạo ByteArrayOutputStream
và chuyển giá trị này, hình chữ nhật và giá trị nén tới compressToJpeg()
.
Sau đó, bạn có thể sử dụng
Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());
tôi sử dụng này cho mỗi khung trong callback và nó hoạt động tốt. Hi vọng điêu nay co ich.
Bạn có thể hiển thị mã của mình đúng cách không – Nepster
- 1. Máy chủ hình ảnh đơn giản
- 2. Lưu tệp hình ảnh vào sql Máy chủ và chuyển đổi mảng byte thành hình ảnh
- 3. không hoàn thành hoạt động khi chuyển ảnh của mảng byte được chụp bằng máy ảnh
- 4. byte [] vào hình ảnh android
- 5. Kích thước hình ảnh của máy ảnh Android
- 6. Làm cách nào để chụp khung hình xem trước từ Ứng dụng Máy ảnh trong Lập trình Android?
- 7. nhận hình ảnh từ mảng byte trong đối tượng JSON để ứng dụng android
- 8. Mảng hình ảnh trong android
- 9. chuyển mảng byte để hình ảnh
- 10. Hình ảnh để mảng byte từ một url
- 11. Mảng hình ảnh byte vào imageview
- 12. làm thế nào để chuyển đổi hình ảnh thành mảng byte trong java?
- 13. Phát video trực tiếp từ máy ảnh trên android
- 14. Chuyển đổi byte mảng để hình ảnh trong WPF
- 15. onPreviewFrame trả về sai byte [] length
- 16. Cách so sánh hai hình ảnh sử dụng mảng byte
- 17. Biến hình ảnh thành văn bản - Java
- 18. Có cách nào đơn giản để lấy kích thước hình ảnh trong Ruby không?
- 19. Có cách nào để tạo một hình ảnh Gif từ nhiều hình ảnh trong Java không?
- 20. Cách đơn giản để đọc các giá trị màu pixel từ hình ảnh PNG trên iPhone?
- 21. Byte Array để chuyển đổi hình ảnh
- 22. Cách chụp ảnh thô từ máy ảnh android
- 23. Làm thế nào để chuyển đổi mảng byte thành tệp hình ảnh?
- 24. Cách chuyển đổi mảng byte thành hình ảnh trong Java SE
- 25. Sử dụng python PIL để biến hình ảnh RGB thành hình ảnh đen trắng tinh khiết
- 26. Cách xây dựng hiển thị hình ảnh wxWidgets đơn giản
- 27. Làm thế nào để viết các hình dạng hình học đơn giản thành mảng numpy
- 28. Thuật toán băm hình ảnh nhanh và đơn giản
- 29. Cách tải dữ liệu xem trước của máy ảnh Android?
- 30. res.hình ảnh data.frame đơn giản
Bạn có chắc chắn hoạt động trong Android không? Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào cho BufferedImage hoặc ImageIO. Nó được liệt kê trong tài liệu tham khảo ngôn ngữ Java nhưng không phải của Android – RyoxSinfar
Có tôi đã sao chép mã sai. Tôi đã sửa đổi câu trả lời của mình. Lấy làm tiếc. – RoflcoptrException
Đó là những gì tôi nghĩ ban đầu câu trả lời là, nhưng nó mang lại cho tôi một bitmap null trở lại. – RyoxSinfar