Uı olmadan Flutter'da bir görüntüyü kırpın ve kaydedin

0

Soru

Görüntüyü belirli bir en boy oranında(cihaz oranı) kırpabilen bir uygulama yapmak istiyorum. Ancak, herhangi bir kullanıcı arayüzünün kırpma seçeneklerini göstermesini istemiyorum.

Tamam, işte bir örnek,

Kullanıcı, uygulamadaki görüntü listesinden bir görüntüye dokunursa, seçilen Görüntü otomatik olarak (arka plan işlemi) kırpılır (cihaz oranı) ve kırpma ile ilgili herhangi bir uı göstermeden cihaza kaydedilir. Bunu nasıl yapabilirim! Dart'taki herhangi bir işlev, görüntüyü hiçbir şey göstermeden kırpabilir.

enter image description here

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

En iyi cevabı

0

copyCrop () öğesini görüntü ile kullanabilirsiniz:

Görüntü Taklidi (Görüntü 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

Diğer dillerde

Bu sayfa diğer dillerde

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