CodeBlanks Logo Icon CodeBlanks

Özet - Kamera

expo-camera, takePictureAsync ve flash'ı birleştirerek bir kamera uygulaması yazarsın.

Özet - Kamera

Bu grupta expo-camera paketini kurmayı, kamera izni istemeyi, takePictureAsync ile fotoğraf çekmeyi, ön/arka kamera değiştirmeyi ve flash modunu yönetmeyi gördün. Bir kamera uygulamasının çekirdeği bu beş parçadan oluşur.

Özette bu parçaları tek bir uygulamada birleştireceğiz: izin akışı, fotoğraf çekme ve kamera değiştirme. Bu üçü birlikte gerçek bir kamera ekranı oluşturur. Şimdi bunları birleştirelim.

Uygulama Özet - Fotoğraf çek

takePhoto işlevini tamamla. const photo = await cameraRef.current.takePictureAsync() çağır; return photo.uri ile dosya yolunu döndür. cameraRef parametre olarak verilir.

Başlangıç kodu

App.js
export async function takePhoto(cameraRef) {
  // fotoğraf çek ve uri'yi döndür
}

Örnek çözüm

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

Uygulama Özet - Kamera değiştir

Boş toggleCamera işlevini tamamla. setType(prev => prev === CameraType.back ? CameraType.front : CameraType.back) yaz. setType parametre olarak verilir.

Başlangıç kodu

App.js
import { CameraType } from 'expo-camera';

export function toggleCamera(setType) {
  // kamera türünü değiştir
}

Örnek çözüm

App.js
setType(prev => prev === CameraType.back ? CameraType.front : CameraType.back);

Soru ve cevaplar

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

1 İzin işlevini yaz

Soru
const permission = await Camera.____();
Cevap
const permission = await Camera.requestCameraPermissionsAsync();

Açıklama: requestCameraPermissionsAsync izin ister.

2 Akış parçasını rolüne eşle

Kavram Anlamı
requestCameraPermissionsAsync İzin ister
takePictureAsync Fotoğraf çeker
CameraType.front Ön kamera
FlashMode.auto Otomatik flaş

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