shaped_plugin 0.0.3 copy "shaped_plugin: ^0.0.3" to clipboard
shaped_plugin: ^0.0.3 copied to clipboard

ShapedSdkCamera is a Flutter component that captures body images in the correct pattern to submit for Shaped IA API in order predict body measurements and body fat percentage.

ShapedSdkCamera #

Descrição #

O ShapedSdkCamera é um componente Flutter para captura de imagens e detecção de poses corporais. Ele permite capturar imagens de um usuário enquanto valida a postura e fornece feedback baseado na posição do corpo.

Instalação #

Para utilizar o ShapedSdkCamera, adicione o plugin ao seu projeto Flutter. No seu pubspec.yaml, adicione:

dependencies:
  shaped_plugin:
    git:
      url: https://github.com/shapeddev/shaped_sdk.git
      ref: 0.0.1 # Utilize a versão (tag) disponibilizada pelo time
      path: flutter

A ref corresponde à tag da versão disponibilizada pelo time de desenvolvimento. Sempre consulte a documentação.

Em seguida, execute:

flutter pub get

Permissões Necessárias #

Para utilizar a câmera, adicione as seguintes permissões nos arquivos de configuração do seu projeto:

Android #

No arquivo AndroidManifest.xml, adicione:

<uses-permission android:name="android.permission.CAMERA"/>

iOS #

No arquivo Info.plist (localizado em ios/Runner/Info.plist), adicione:

<key>NSCameraUsageDescription</key>
<string>Este aplicativo precisa acessar a câmera para capturar imagens.</string>

Uso #

Importação #

No seu arquivo Dart, importe o pacote:

import 'package:shaped_plugin/shaped_plugin.dart';

Exemplo de Implementação #

Abaixo, um exemplo de como utilizar o ShapedSdkCamera dentro de um StatefulWidget:

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:shaped_plugin/shaped_plugin.dart';

class CameraPage extends StatefulWidget {
  @override
  _CameraPageState createState() => _CameraPageState();
}

class _CameraPageState extends State<CameraPage> {
  bool _frontalValidation = true;
  List<Uint8List> _capturedImages = [];

  void _handleImages(List<Uint8List> capturedImages, bool frontalValidation) {
    setState(() {
      _capturedImages = capturedImages;
      _frontalValidation = frontalValidation;
    });
  }

  Future<void> _changeFrontalValidation(bool frontalValidation) async {
    setState(() {
      _frontalValidation = frontalValidation;
    });
  }

  void _handleErrors(List<String> errors, int? countdown) {
    print("Erros detectados: $errors");
  }

  void _onValidateDeviceLevel(bool validLevel) {
    if (!validLevel) {
      print("Dispositivo não está nivelado corretamente.");
    }
  }

  Future<dynamic> showDialogCustom(
    String description,
    String labelButton,
    void Function() clickButton,
    bool barrierDismissible,
    bool buttonWide,
  ) async {
    return showDialog(
      context: context,
      builder: (context) => AlertDialog(
        title: Text(description),
        actions: [
          TextButton(onPressed: clickButton, child: Text(labelButton)),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Detecção Corporal")),
      body: Center(
        child: ShapedSdkCamera(
          frontalValidation: _frontalValidation,
          capturedImages: _capturedImages,
          onImagesCaptured: _handleImages,
          onChangeFrontalValidation: _changeFrontalValidation,
          onDeviceLevel: _onValidateDeviceLevel,
          onErrorsImage: _handleErrors,
          showDialog: showDialogCustom,
        ),
      ),
    );
  }
}

Parâmetros do ShapedSdkCamera #

Parâmetro Tipo Descrição
frontalValidation bool Define se a validação frontal está ativada.
capturedImages List<Uint8List> Lista de imagens capturadas.
onImagesCaptured Function(List<Uint8List>, bool) Callback acionado ao capturar imagens.
onChangeFrontalValidation Future<void> Function(bool) Callback acionado quando há mudança na validação frontal.
onDeviceLevel Function(bool) Callback para informar se o dispositivo está nivelado.
onErrorsImage Function(List<String>, int?) Callback acionado ao detectar erros na captura.
showDialog Future<dynamic> Function(String, String, void Function(), bool, bool) Função para exibir diálogos personalizados.

Considerações Finais #

O ShapedSdkCamera fornece uma interface robusta para captura e validação de imagens corporais, podendo ser facilmente integrado a qualquer projeto Flutter. Certifique-se de conceder as permissões necessárias para a câmera antes de usá-lo.

1
likes
0
points
30
downloads

Publisher

unverified uploader

Weekly Downloads

ShapedSdkCamera is a Flutter component that captures body images in the correct pattern to submit for Shaped IA API in order predict body measurements and body fat percentage.

Repository (GitHub)

License

unknown (license)

Dependencies

cupertino_icons, flutter, flutter_modular, path_provider, permission_handler

More

Packages that depend on shaped_plugin

Packages that implement shaped_plugin