Mostrar visualização de imagem ao vivo da câmera no aplicativo Flutter

Mostrar visualização de imagem ao vivo da câmera refere-se ao processo de exibição do feed em tempo real da câmera do seu dispositivo em uma tela. Isso é essencialmente o que você vê quando abre o aplicativo da câmera no seu telefone ou computador.

Neste tutorial, aprenderemos como exibir um feed de visualização de imagem ao vivo da Câmera como um widget em seu aplicativo Flutter. Além disso, você aprenderá a capturar a imagem e exibi-la em seu aplicativo.

Primeiro de tudo, você precisa adicionar o plugin camera ao seu projeto adicionando as seguintes linhas no arquivo pubspec.yaml.

dependencies:
  flutter:
    sdk: flutter
  camera: ^0.9.4+11

Agora, para Android, defina a versão mínima do SDK como 21 em android/app/build.gradle

minSdkVersion 21

Agora, para iOS, adicione as seguintes linhas em ios/Runner/Info.plist

<key>NSCameraUsageDescription</key>
<string>Can I use the camera please?</string>
<key>NSMicrophoneUsageDescription</key>
<string>Can I use the mic please?</string>

Agora, na parte do seu script, importe o plugin da câmera:

import 'package:camera/camera.dart';

Agora, declare as variáveis ​​necessárias na sua classe de widget:

List<CameraDescription>? cameras; //list out the camera available
CameraController? controller; //controller for camera
XFile? image; //for caputred image

Inicialize os controladores da câmera:

cameras = await availableCameras();
if(cameras != null){
  controller = CameraController(cameras![0], ResolutionPreset.max);
              //cameras[0] = first camera, change to 1 to another camera
              
  controller!.initialize().then((_) {
      if (!mounted) {
        return;
      }
      setState(() {});
  });
}else{
  print("NO any camera found");
}

Agora, você pode exibir a visualização da Câmera dentro do seu aplicativo usando o widget CameraPreview():

CameraPreview(controller!)

Você pode capturar a imagem usando o seguinte código:

image = await controller!.takePicture();

Você pode exibir a imagem capturada dentro do seu aplicativo usando o seguinte widget:

Image.file(File(image!.path))

Dessa forma, você pode exibir a visualização da imagem ao vivo da câmera dentro do seu aplicativo.

1.85 GEEK