2016-06-01 10 views
-2

In meinem Android-Kamera-Anwendung Probe, ich starten Sie die Kamera-Anwendung des Geräts wie folgt:Wie groß ist die maximale Größe der Bitmap, die von den Camera Intent-Daten zurückgegeben wird?

static final int REQUEST_IMAGE_CAPTURE = 1; 

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 

die Bitmap über Intent Abrufen von Daten wie folgt:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent 
data) 
{ 
    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) 
    { 
     Bundle extras = data.getExtras(); 
     Bitmap imageBitmap = (Bitmap) extras.get("data"); 
    } 
} 

ich diese Beispiel-App mit 2 Android Mobile getestet unterschiedliche Abmessungen Ergebnisse wie folgt: Telefon 1: Abmessungen des ursprünglichen Bildes durch die Kamera eingefangen sind 2988x5312. Aber Größe von Bitmap ist 124x221 Phone2: Abmessungen des Originalbildes von der Kamera eingefangen ist 1456x2592. Aber die Größe der Bitmap ist 91x162

Meine Fragen: A. Ich möchte nur wissen, was ist die maximale Größe der Bitmap-Miniatur von der Absicht zurückgegeben? B. Wie berechnen sie die Größe?

Danke.

Antwort

0

Ich möchte nur wissen, was ist die maximale Größe der Bitmap-Miniatur von der Absicht zurückgegeben?

Es wird je nach Gerät und Kamera-App variieren. Sie werden garantiert, dass es unter 1 MB ist, da es eine Grenze gibt, wie viele Daten über onActivityResult() zurückgesendet werden können.

Wie sie die Größe berechnen?

Es wird je nach Gerät und Kamera-App variieren.

+0

Danke CommonWare. Ich möchte wissen, basierend auf welcher Parameter oder welche Berechnung die Größe der Bitmap entschieden wird? Gibt es eine Berechnung dafür? – PM16

+0

@ PM16: ** Es wird je nach Gerät und Kamera-App ** variieren. Wenn Sie sich entscheiden, Ihre eigene Kamera-App zu schreiben, können Sie selbst entscheiden, wie Sie damit umgehen wollen. Die einzige technische Anforderung, abgesehen von der zusätzlichen Bezeichnung "data", besteht darin, dass die Bitmap klein genug sein muss, um eine Ausnahme "FAILED BINDER TRANSACTION" zu vermeiden, die auftritt, wenn eine Binder-basierte IPC-Transaktion 1 MB überschreitet. In meiner CWAC-Cam2-Bibliothek halte ich die 'Bitmap' unter 750KB. – CommonsWare