shaped_plugin 0.0.2
shaped_plugin: ^0.0.2 copied to clipboard
Shaped SKD flutter package
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.