CodeBlanks Logo Icon CodeBlanks

launchCameraAsync

launchCameraAsync ile kameradan görsel almayı öğrenirsin.

launchCameraAsync

Kamerayla fotoğraf çekmek için ImagePicker.launchCameraAsync çağrılır. Bu işlev de launchImageLibraryAsync gibi bir sonuç nesnesi döndürür; canceled ve assets alanları aynı çalışır. Tek fark, kamera açılır ve kullanıcı fotoğraf çeker.

Kamera izni ayrıca istenmelidir. iOS'ta kamera izni otomatik istenir; Android'de ise requestCameraPermissionsAsync ile açıkça istenmesi önerilir. Çekilen fotoğraf result.assets[0].uri ile alınır. İşlev bir seçenek nesnesi alır; örneğin { mediaTypes: ImagePicker.MediaTypeOptions.Images }.

İki seçim arasındaki fark

launchImageLibraryAsync galeriden seçer, launchCameraAsync ise kamerayla çeker. Her ikisi de aynı sonuç nesnesini döndürür; bu yüzden sonraki adımlar aynıdır. Birçok uygulamada iki düğme olur: 'Galeriden seç' ve 'Fotoğraf çek'.

Her iki işlevi de aynı handleImage akışına bağlayabilirsin; yalnızca çağrı farklıdır. Örnek: galeri düğmesi onPress={pickFromGallery}, kamera düğmesi onPress={pickFromCamera}. Her iki işlev de result.assets[0].uri döndürür; ortak bir state'e yazılır.

Uygulama Kamerayla fotoğraf çek

takePhoto işlevini tamamla. const result = await ImagePicker.launchCameraAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images }) çağır. Eğer result.canceled ise return null. Değilse return result.assets[0].uri.

Başlangıç kodu

App.js
import * as ImagePicker from 'expo-image-picker';

export async function takePhoto() {
  // kamerayla fotoğraf çek ve uri döndür
}

Örnek çözüm

App.js
const result = await ImagePicker.launchCameraAsync({
  mediaTypes: ImagePicker.MediaTypeOptions.Images,
});
if (result.canceled) return null;
return result.assets[0].uri;

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Kamera çağrısını yaz

Soru
const result = await ImagePicker.____({ mediaTypes: ImagePicker.MediaTypeOptions.Images });
Cevap
const result = await ImagePicker.launchCameraAsync({ mediaTypes: ImagePicker.MediaTypeOptions.Images });

Açıklama: launchCameraAsync kamerayı açar.

2 İşlevi amacına eşle

Kavram Anlamı
launchImageLibraryAsync Galeriden seçer
launchCameraAsync Kamerayla çeker
requestCameraPermissionsAsync Kamera izni
MediaTypeOptions.Images Yalnızca görsel

3 Hangi işlev kamerayla fotoğraf çeker?

App.js
const result = await ImagePicker.??()
  • launchImageLibraryAsync
  • launchCameraAsync Doğru cevap
  • openCamera
  • pickFromGallery

Açıklama: launchCameraAsync kamera açar ve fotoğraf çeker.

İleri seviye bölümündeki tüm dersler