更改图像的宽度和高度

时间:2019-10-10 12:05:59

标签: flutter dart

如何将文件转换为图像将宽度和高度更改为例如。 500x500,但仅当高度和宽度大于500并再次另存为文件时?

这就是我从画廊拍摄图像的方式。我发现了类似的东西,但是如何再次将此图像保存到文件?

File imageFile;

Future<Null> _pickImage() async {
    imageFile = await ImagePicker.pickImage(source: ImageSource.gallery);
    if (imageFile != null) {
      setState(() {
        state = AppState.picked;
      });
    }
  }

我发现了类似的东西,但是如何再次将此图像保存到文件?

final bytes = await imageFile.readAsBytes();

    IMG.Image image = IMG.decodeImage(bytes);
    IMG.Image thumbnail = IMG.copyResize(
      image,
      width: 500,
      height: 500
    );

1 个答案:

答案 0 :(得分:0)

编码器   如果可以尝试crop_image pub lib。   您可以根据需要添加大小。

1。   导入'package:image_cropper / image_cropper.dart';

 File croppedFile = await ImageCropper.cropImage(
    sourcePath: imageFile.path,
    aspectRatioPresets: [
    CropAspectRatioPreset.square,
    CropAspectRatioPreset.ratio3x2,
    CropAspectRatioPreset.original,
    CropAspectRatioPreset.ratio4x3,
    CropAspectRatioPreset.ratio16x9
   ],
   androidUiSettings: AndroidUiSettings(
      toolbarTitle: 'Cropper',
      toolbarColor: Colors.deepOrange,
      toolbarWidgetColor: Colors.white,
      initAspectRatio: CropAspectRatioPreset.original,
      lockAspectRatio: false),
      iosUiSettings: IOSUiSettings(
      minimumAspectRatio: 1.0,
    )
   );

 2.
 _imageFile = await ImagePicker.pickImage(
      source: ImageSource.gallery, 
      maxHeight: 500.0, 
      maxWidth: 500.0);