fix: rotate photo selfie

This commit is contained in:
Dian Bayu Nugroho 2024-02-20 18:21:04 +07:00
parent c4c0479341
commit 2e98c1a234
4 changed files with 31 additions and 15 deletions

View File

@ -12,6 +12,7 @@ import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_v
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
import 'dart:math' as math;
class DisplayPictureScreen extends StatefulWidget { class DisplayPictureScreen extends StatefulWidget {
final String imagePath, content; final String imagePath, content;
@ -106,7 +107,14 @@ class _DisplayPictureScreenState extends State<DisplayPictureScreen> {
SizedBox( SizedBox(
width: SizeConfig.width, width: SizeConfig.width,
height: SizeConfig.height * .4, height: SizeConfig.height * .4,
child: Image.file(File(widget.imagePath))), child: Transform(
alignment: Alignment.center,
transform: widget.content == 'selfie'
? Matrix4.rotationY(math.pi)
: Matrix4.rotationY(0),
child: Image.file(
File(widget.imagePath),
))),
const Padding( const Padding(
padding: EdgeInsets.symmetric(vertical: 16.0), padding: EdgeInsets.symmetric(vertical: 16.0),
child: Text( child: Text(

View File

@ -13,6 +13,7 @@ import 'package:cims_apps/features/auth/registration/view/submission_data/submis
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'dart:math' as math;
class SubmitDataIdCard extends StatelessWidget { class SubmitDataIdCard extends StatelessWidget {
const SubmitDataIdCard({Key? key}) : super(key: key); const SubmitDataIdCard({Key? key}) : super(key: key);
@ -108,14 +109,21 @@ class SubmitDataIdCard extends StatelessWidget {
SizedBox( SizedBox(
height: SizeConfig.height * .18, height: SizeConfig.height * .18,
width: SizeConfig.width * .45, width: SizeConfig.width * .45,
child: ClipRRect( child: Transform(
borderRadius: BorderRadius.circular(8), alignment: Alignment.center,
child: Image.file( transform: e.key == 'selfie'
File(e.image), ? Matrix4.rotationY(math.pi)
fit: BoxFit.fill, : Matrix4.rotationY(0),
errorBuilder: (context, error, stackTrace) { child: ClipRRect(
return const Icon(Icons.image_not_supported_outlined); borderRadius: BorderRadius.circular(8),
}, child: Image.file(
File(e.image),
fit: BoxFit.fill,
errorBuilder: (context, error, stackTrace) {
return const Icon(
Icons.image_not_supported_outlined);
},
),
), ),
), ),
), ),

View File

@ -52,8 +52,8 @@ class SubmissionDataViewModel extends ChangeNotifier {
]; ];
List<ItemSelectForm> listImg = [ List<ItemSelectForm> listImg = [
ItemSelectForm('', 'ID Card', image: ''), ItemSelectForm('ktp', 'ID Card', image: ''),
ItemSelectForm('', 'Selfie with ID Card', image: ''), ItemSelectForm('selfie', 'Selfie with ID Card', image: ''),
]; ];
Future<List<CameraDescription>> initCamera() async { Future<List<CameraDescription>> initCamera() async {

View File

@ -681,18 +681,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: syncfusion_flutter_core name: syncfusion_flutter_core
sha256: "4eed0d3ae50c16b5e8e4957f3c1917e9bd0315a08dfb49a104ca8fc10244bef3" sha256: "9f98e2726af42967497eaef68f3373261700bbfcd33bd97da4ec85cb56fcdaf7"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "24.2.6" version: "24.2.7"
syncfusion_flutter_signaturepad: syncfusion_flutter_signaturepad:
dependency: "direct main" dependency: "direct main"
description: description:
name: syncfusion_flutter_signaturepad name: syncfusion_flutter_signaturepad
sha256: da55bd7d796f2c9b4707f3e063e443f67c355c6098002e446bbf43672952916e sha256: d51d5e346c70b938a8e1f2318a073213172aea7b99e33073c379657b1066c001
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "24.2.6" version: "24.2.7"
synchronized: synchronized:
dependency: transitive dependency: transitive
description: description: