import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:smtias_capture/models/preview_region.dart'; import 'package:smtias_capture/widgets/region_crop.dart'; /// 保存中に表示するスナップショット画像 [bytes] を [region] でクロップ表示する. /// /// スナップショット(preview.jpg)は native 側で既に向き処理(`rotation:90 + mirror`) /// 済みのため,ここでは追加の反転は行わず,[RegionCrop] で同一座標系のクロップのみ /// 適用してライブ表示と範囲を一致させる. class CroppedSnapshot extends StatelessWidget { const CroppedSnapshot({super.key, required this.bytes, required this.region}); final Uint8List bytes; /// クロップ領域(表示後の画面座標 0.0–1.0/ライブと共通). final PreviewRegion region; @override Widget build(BuildContext context) { return RegionCrop( region: region, child: Image.memory(bytes, fit: BoxFit.contain, gaplessPlayback: true), ); } }