Recadrer et enregistrer une image dans un Flutter sans interface utilisateur

0

La question

Je veux faire une application qui permet de recadrer l'image dans un rapport d'aspect spécifique(appareil ratio). Mais, je ne veux pas de l'interface utilisateur pour afficher options de recadrage.

Ok, voici un exemple,

Si l'utilisateur d'appuyer sur une image à partir de la liste d'images dans l'application de l'Image sélectionnée automatiquement (processus d'arrière-plan) culture (appareil ratio) & enregistrés sur l'appareil, sans montrer aucune des cultures liées à l'interface utilisateur. Comment puis-je faire cela! Toute fonction dans dart par qui permet de recadrer une image sans montrer quoi que ce soit.

enter image description here

crop flutter image
2021-10-26 13:23:42
1

La meilleure réponse

0

Vous pouvez utiliser copyCrop() avec l'image:

Image copyCrop(Image src, int x, int y, int w, int h);

import 'dart:io';
import 'package:image/image.dart';
void main(List<String> argv) {
  String path = argv[0];
  Directory dir = Directory(path);
  List files = dir.listSync();
  List<int> trimRect;
  for (var f in files) {
    if (f is! File) {
      continue;
    }
    List<int> bytes = f.readBytesSync();
    Image image = decodeImage(bytes);
    if (image == null) {
      continue;
    }
    if (trimRect == null) {
      trimRect = findTrim(image, mode: TrimMode.transparent);
    }
    Image trimmed = copyCrop(image, trimRect[0], trimRect[1], 
                             trimRect[2], trimRect[3]);
    String name = f.path.split(RegExp(r'(/|\\)')).last;
    File('$path/trimmed-$name').writeBytesSync(encodeNamedImage(image, f.path));
  }
}
2021-10-27 06:10:19

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................