OnPreviewFrame Daten Bild Bildansicht
ich versuche, das byte[] von der Vorschau der Kamera umwandeln und in bitmap-und zeigen Sie es auf eine Bildansicht mit Bildansicht.setImageBitmap()
ich habe es geschafft, starten Sie die Vorschau und zeigt Sie auf einer surfaceView, aber ich weiß nicht, wie zu konvertieren byte[] data (kommt im Yuv-format, glaube ich) in eine RGB-bitmap, um anzeigen auf einer Bildansicht.
den code, den ich versuche, ist Folgendes:
camera = camera.open();
parameters = camera.getParameters();
camera.setParameters(parameters);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
camera.setPreviewDisplay(surfaceHolder);
camera.setPreviewCallback(this);
camera.startPreview();
und der Vorschau, Rückruf ist diese
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
ByteArrayOutputStream outstr = new ByteArrayOutputStream();
Rect rect = new Rect(0, 0, width, height);
YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,width,height,null);
yuvimage.compressToJpeg(rect, 100, outstr);
Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
imgView1.setImageBitmap(bmp);
}
Die Vorschau funktioniert, aber der Bildansicht bleibt leer
Irgendeine Idee?
hier legen Sie die Bildansicht.setImageBitmap(bmp); ?
Nach Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
stellen Sie sicher, outstr.size()!=0!!?
Sorry für die späte Antwort... aber, wie soll ich das überprüfen?
sehen outstr.Länge() oder eine andere Funktion, die für den check-Größe in der ByteArrayOutputStream-Klasse in doc
Nach Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
stellen Sie sicher, outstr.size()!=0!!?
Sorry für die späte Antwort... aber, wie soll ich das überprüfen?
sehen outstr.Länge() oder eine andere Funktion, die für den check-Größe in der ByteArrayOutputStream-Klasse in doc
InformationsquelleAutor Pitr | 2013-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist möglich, dass Sie nicht öffnen Sie die Kamera in den UI-thread. Jedoch, Sie benötigen, um sicherzustellen setImageBitmap heißt in der UI-thread:
ich gegoogelt es und versuchte mehr Tutorials,Bibliotheken[grafica zu].aber ich Tat es nicht schaffen, diese Art von Album Vorhören[Mehrere Cmaera Vorschau]. fand ich mehr problem das gleiche wie bei meinem problem in Stackoverflow.doch wie meine Frage niemand Antwort gab.Bitte Lesen Sie diesen Link möchte ich diese Art der Ansicht....i.stack.imgur.com/WYHuj.jpg
Vielen Dank im Voraus
InformationsquelleAutor blacelle