Przycinać i zapisać obraz w Flutter, bez interfejsu użytkownika

0

Pytanie

Chcę stworzyć aplikację, która może przyciąć obraz w określonej proporcji obrazu(stosunek urządzeń). Ale nie chcę, aby jakikolwiek interfejs użytkownika wyświetlał parametry cięcia.

Dobrze, oto przykład

Jeśli użytkownik kliknie na zdjęcie z listy obrazów w aplikacji, wybrane zdjęcie automatycznie (proces) jest obcięty (stosunek urządzeń) i zapisywane na urządzeniu, bez wyświetlania interfejsu użytkownika, związane z przycinaniem. Jak mogę to zrobić! Każda funkcja w dart, za pomocą której można przyciąć obraz, nic nie pokazując.

enter image description here

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

Najlepsza odpowiedź

0

Można użyć funkcji copyCrop() z obrazem:

Imitacja obrazu(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

W innych językach

Ta strona jest w innych językach

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