Ritagliare e salvare un'immagine in Flutter senza ui

0

Domanda

Voglio fare un'app che consente di ritagliare l'immagine in uno specifico rapporto di aspetto(dispositivo di rapporto). Ma, non voglio qualsiasi interfaccia utente per visualizzare le opzioni di ritaglio.

Ok, qui è un esempio,

Se l'utente toccare un'immagine dall'elenco di immagini in app selezionata automaticamente l'Immagine di sfondo del processo di coltivazione (dispositivo di rapporto) e salvato sul dispositivo, senza mostrare alcun raccolto relative ui. Come posso fare questo! Qualsiasi funzione in dart da chi può ritagliare un'immagine senza mostrare nulla.

enter image description here

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

Migliore risposta

0

È possibile utilizzare copyCrop() con l'immagine:

Immagine 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

In altre lingue

Questa pagina è in altre lingue

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