Zum Hauptinhalt springen

Eine einfache Möglichkeit, ein Foto von der Kamera auf Android-Geräten zu erhalten

Heutzutage sind Aufnahmen von der Kamera ein wesentlicher Bestandteil des Lebens eines jeden modernen Menschen. Aber was tun, wenn Sie keine Kamera zur Hand haben und ein Foto von einem wichtigen Moment machen müssen? Eine Lösung für dieses Problem besteht darin, die Kamera auf einem Android-Gerät zu verwenden.

Android-Geräte bieten die Möglichkeit, ein Bild von der Kamera zu erhalten, ohne Apps von Drittanbietern installieren zu müssen. Alles, was Sie brauchen, ist ein bisschen Code und Zugriff auf die Kamera Ihres Geräts.

Eine einfache Möglichkeit, ein Foto von der Kamera auf Android-Geräten zu erhalten, besteht darin, die CameraIntent-Klasse zu verwenden. Mit dieser Klasse können Sie die Kamera starten, damit der Benutzer ein Foto aufnehmen kann. Danach wird das Bild auf dem Gerät gespeichert und Sie können es in Ihrer App verwenden, um es weiter zu verarbeiten oder zu senden.

Beispielcode zum Starten der Kamera und zum Aufnehmen eines Bildes:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);

Mit diesem Code starten Sie die Kamera auf Ihrem Android-Gerät und erhalten ein Bild. Um Ergebnisse zu erhalten, können Sie die onActivityResult-Methode überschreiben und den resultierenden Snapshot verarbeiten.

Wie kann ich auf Android-Geräten problemlos ein Foto von der Kamera aufnehmen

In modernen Android-Geräten ist es sehr einfach, ein Bild von der Kamera zu erhalten. Sie müssen dafür keine Apps von Drittanbietern oder komplexe Einstellungen verwenden. Nur ein paar Zeilen Java-Code reichen aus.

Um ein Bild von der Kamera zu erhalten, müssen Sie die in Android integrierte Kamera-API verwenden. In Android 5-Versionen.0 und höher Sie können die neue Camera2-API verwenden. Der Einfachheit halber betrachten wir die Verwendung der alten Camera API.

Der erste Schritt besteht darin, auf die Kamera des Geräts zuzugreifen. Erstellen Sie dazu eine Instanz der Camera-Klasse und öffnen Sie die Kamera mit der open() -Methode.

Danach müssen Sie die Kameraeinstellungen anpassen. In der Camera-Methode.Parameters set Parameter für die Breite und Höhe des Bildes sowie die Qualität.

Anschließend können Sie ein Objekt der Camera-Klasse erstellen.PreviewCallback, um ein Bild von der Kamera zu erhalten. Wir können dieses Objekt an die setPreviewCallbackWithBuffer() -Methode der Camera-Klasse übergeben, um jeden resultierenden Frame zu verarbeiten.

Schließlich müssen Sie die folgenden Schritte ausführen, um ein Bild von der Kamera zu erhalten:

  1. Einen Puffer erstellen, auf den der Frame wartet: byte[] buffer = new byte[width * height * ImageFormat.getBitsPerPixel(ImageFormat.YUY2)];
  2. Binden Sie den erstellten Puffer mithilfe der addCallbackBuffer(): camera-Methode an die Kamera.addCallbackBuffer(buffer);
  3. Starten Sie die Kameraansicht mit der startPreview() -Methode.

Nach all diesen Schritten können wir ein Bild von der Kamera abrufen und es in der onPreviewFrame() -Methode des Camera-Objekts verarbeiten.PreviewCallback.

Zum Beispiel können wir das resultierende Bild auf dem Gerät speichern oder zur weiteren Verarbeitung übertragen.

Daher ist es nicht schwierig, ein Bild von der Kamera auf Android-Geräten zu erhalten. Sie müssen lediglich die Camera API verwenden und die entsprechenden Einstellungen anpassen, um die gewünschte Bildqualität zu erhalten. Jetzt können Sie die Kamerafunktionalität einfach in Ihre Android-App integrieren.

Schritt 1: Starten Sie die Kamera-App

Um ein Bild von der Kamera auf Ihrem Android-Gerät zu erhalten, müssen Sie zuerst die Kamera-App starten. Tippen Sie auf dem Startbildschirm Ihres Geräts auf das Symbol Kamera oder suchen Sie es in der App-Liste.

Nachdem Sie die App gestartet haben, sehen Sie eine Vorschau des Bildes, das die Kamera Ihres Geräts sieht. Sie können auch verschiedene Einstellungen wie Blitz, Aufnahmemodus und Fokus anpassen, um das gewünschte Ergebnis zu erzielen.

Um ein Bild aufzunehmen, tippen Sie auf die Schaltfläche mit der Kamera, die sich normalerweise am unteren Rand des Bildschirms befindet. Abhängig von Ihrem Gerät und Ihrer Android-Version kann diese Schaltfläche ein anderes Aussehen haben. Es sieht normalerweise rund oder oval aus und hat ein Kamerasymbol.

Nachdem Sie auf die Schaltfläche geklickt haben, wird das Bild aufgenommen und in der Galerie Ihres Geräts gespeichert. Sie können die Galerie öffnen, um das Ergebnis zu überprüfen und das aufgenommene Bild anzuzeigen.

Schritt 2: Passen Sie die Aufnahmeeinstellungen an

Nachdem Sie die Erlaubnis zur Verwendung der Kamera erhalten haben, müssen Sie die Aufnahmeeinstellungen anpassen, um das gewünschte Bild zu erhalten. Dazu können Sie verschiedene Methoden und Eigenschaften der Camera-Klasse verwenden.

  1. Bestimmen Sie die Kameraausrichtung und stellen Sie die richtige Einstellung für "orientation" ein.
  2. Wählen Sie die beste Auflösung, um das Bild aufzunehmen. Dazu können Sie die Methode "getSupportedPictureSizes" verwenden, die eine Liste der unterstützten Snapshot-Größen zurückgibt. Wählen Sie die am besten geeignete Größe aus und legen Sie sie mit der Methode "setPictureSize" fest.
  3. Stellen Sie den Fokus vor der Aufnahme ein. Sie können dazu die "autoFocus" -Methode verwenden, die den Fokus vor der Aufnahme automatisch festlegt. Wenn Sie den Fokus an einem bestimmten Punkt festlegen möchten, können Sie die Methode "focusAtPoint" verwenden und die Koordinaten des Punktes übergeben.
  4. Stellen Sie die Belichtungseinstellungen ein. Die Belichtung bestimmt die Helligkeit des Bildes. Mit den Methoden "setExposureCompensation" und "setAutoExposureLock" können Sie die Belichtung anpassen.
  5. Stellen Sie den Aufnahmemodus ein. Dazu können Sie die Methode "setSceneMode" verwenden. Beispielsweise eignet sich der Modus "Landscape" für Landschaftsaufnahmen und der Modus "Portrait" für Porträts.

Wenn Sie die Aufnahmeeinstellungen anpassen, erhalten Sie ein Bild mit den gewünschten Eigenschaften und der gewünschten Qualität. Fahren Sie mit dem nächsten Schritt fort, um zu erfahren, wie Sie ein Bild aufnehmen und ein Bild aufnehmen können.

Schritt 3: Machen Sie ein Foto

Um ein Foto aufzunehmen, müssen Sie Folgendes verwenden Camera-Klasse und die von dieser Klasse bereitgestellten Methoden. Zuerst müssen Sie überprüfen, ob Sie Zugriff auf die Kamera haben, und sie bei Bedarf vom Benutzer anfordern. Dazu können Sie die Methode verwenden :

private void checkCameraPermission() else >

Nachdem Sie die Berechtigungen erhalten haben, müssen Sie die Kamera öffnen und mit der Methode darauf zugreifen :

private void openCamera() 

Nachdem Sie die Einstellungen für die Aufnahme konfiguriert und die Vorschau vorbereitet haben, können Sie die Vorschau starten, indem Sie die Methode aufrufen :

camera.startPreview();

Jetzt, da die Kamera gestartet wird und die Vorschau angezeigt wird, können Sie Fotos aufnehmen. Dazu können Sie die Methode verwenden :

camera.takePicture(null, null, new Camera.PictureCallback()  >);

In der Methode können Sie den resultierenden Snapshot verarbeiten, in einer Datei speichern oder zur weiteren Verarbeitung übergeben.

Wichtig: stellen Sie sicher, dass Sie nach der Verwendung der Kamera die Methode aufrufen , um Ressourcen freizugeben:

camera.release();

Jetzt wissen Sie, wie Sie ein Foto mit der Kamera auf Android-Geräten aufnehmen können. Im nächsten Schritt werden wir uns ansehen, wie das resultierende Bild gespeichert wird.

Schritt 4: Speichern Sie das Bild auf dem Gerät

Nachdem Sie ein Foto aufgenommen haben, müssen Sie es auf Ihrem Gerät speichern. Dazu können Sie den folgenden Code verwenden:

MethodeDie BeschreibungEin Beispiel
1. Erstellen Sie ein Dateiobjekt, um das Bild zu speichern.File file = new File(Environment.getExternalStorageDirectory(), "myImage.jpg"); File file = new File(Environment.getExternalStorageDirectory(), "myImage.jpg");
2. Erstellen Sie einen Stream, um die Daten in die Datei zu schreiben.OutputStream os = new FileOutputStream(file); OutputStream os = new FileOutputStream(file);
3. Speichern Sie das Bild in einer Datei.bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
4. Schließen Sie den Stream.os.close(); os.close();

Als Ergebnis der Ausführung des obigen Codes wird Ihr Snapshot in der Datei "myImage" gespeichert.jpg" auf dem externen Speicher des Geräts. Sie können den Dateinamen und das Bildformat nach Belieben ändern.

Jetzt haben Sie einen vollständigen Satz von Anweisungen zum Abrufen und Speichern eines Bildes von der Kamera auf Android-Geräten! Denken Sie daran, dass Sie nach dem Speichern eines Bildes es nach Belieben verwenden können - per E-Mail senden, in sozialen Netzwerken teilen oder in Ihrer App verwenden.