CodeBlanks Logo Icon CodeBlanks

Fotoğraf çekme

takePictureAsync ile fotoğraf çekmeyi öğrenirsin.

takePictureAsync

Camera bileşeninin bir ref'i vardır. Bu ref üzerinden fotoğraf çekme işlevini çağırırsın: cameraRef.current.takePictureAsync(). İşlev asenkron bir nesne döndürür; uri alanı çekilen fotoğrafın dosya yolunu taşır.

Ref oluşturmak için React.useRef(null) kullanırsın; ref'i <Camera ref={cameraRef} /> prop olarak bağlarsın. Çekme işlevini bir düğmenin onPress'ine bağlarsın. Örnek: const photo = await cameraRef.current.takePictureAsync(). Dönen nesnenin uri özelliğini sonra galeriye kaydedebilir veya ekranda gösterebilirsin.

Ref bağlama

Ref'i kameraya bağlamak için ref prop kullanılır. Örnek: const cameraRef = React.useRef(null) ve <Camera ref={cameraRef} style={{{ flex: 1 }}} />. Bağlandıktan sonra cameraRef.current kamera bileşenine işaret eder; üzerinde takePictureAsync gibi işlevleri çağırabilirsin.

Ref bağlanmadan cameraRef.current null kalır; işlev çağrısı hata verir. Bu yüzden ref'i her zaman kameraya bağla. Çekme işlevini bir düğmeye bağlarken onPress={takePhoto} yazarsın; takePhoto işlevi ref'i kullanır.

Uygulama Fotoğraf çek ve uri'yi yaz

takePhoto işlevini tamamla. const photo = await cameraRef.current.takePictureAsync() çağır; console.log(photo.uri) ile dosya yolunu yaz. cameraRef zaten tanımlı.

Başlangıç kodu

App.js
export async function takePhoto(cameraRef) {
  // fotoğraf çek ve uri'yi yaz
}

Örnek çözüm

App.js
const photo = await cameraRef.current.takePictureAsync();
console.log(photo.uri);

Soru ve cevaplar

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

1 Parçayı rolüne eşle

Kavram Anlamı
useRef Ref oluşturur
cameraRef.current Ref üzerinden erişim
takePictureAsync Fotoğraf çeker
uri Dosya yolu

2 takePictureAsync nasıl çağrılır?

App.js
const photo = await cameraRef.current.??()
  • cameraRef.takePictureAsync()
  • Camera.takePictureAsync()
  • takePicture(cameraRef)
  • cameraRef.current.takePictureAsync() Doğru cevap

Açıklama: Ref'in current özelliği üzerinden çağrılır.

3 Ref oluşturma

Soru
const cameraRef = React.____(null);
Cevap
const cameraRef = React.useRef(null);

Açıklama: useRef bir ref oluşturur.

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