0

ギャラリーから選択した画像から画像をトリミングしようとしていますが、画像は完全に選択されていますが、画像をトリミングしようとしている間、画面で何も起こらなかったようで、問題を理解できませんがコンソールで問題が検出されました。私が使用したコードは、公式の pub.dev サイト [https://pub.dev/packages/image_cropper/example] からのものです。

私のタスクは次のとおりです。画像を選択してトリミングします

この問題の解決にご協力ください。よろしくお願いします。

コード:

....

class _EditGalleryScreenState extends State<EditGalleryScreen> {  
  File imageFile;
  List _galleries = new List();

  @override
  void initState() {
    .....
  }

  ....
  //SOME API CALLS

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Gallery"),
      ),
      body: _galleries.isNotEmpty
          ? GridView.builder(/* DIAPLYING LIST OF IMAGES FROM API CALL */)
          : SizedBox(),

          //BUTTON TO TRIGGER IMAGE PICKER
      floatingActionButton: FloatingActionButton(
        tooltip: "Add Image",
        onPressed: () {
          _pickImage();
        },
        child: Icon(Icons.add_a_photo),
        backgroundColor: AppColors.PRIMARY_COLOR,
      ),
    );
  }

  Future<Null> _pickImage() async {
    // imageFile = await ImagePicker.pickImage(source: ImageSource.gallery); // this was deprecated so i have updated to otherone

    PickedFile imageFile = await ImagePicker().getImage(
        source: ImageSource.gallery,
        maxWidth: 500,
        maxHeight: 500,
        imageQuality: 20);

    if (imageFile != null) {
      setState(() {
        state = AppState.picked;
        debugPrint("Image Picked and State Changed");
        _cropImage();//calling CROP FUNCTION
      });
    }
  }

  Future<Null> _cropImage() async {
    debugPrint("Crop Image Called");
    File croppedFile = await ImageCropper.cropImage(
        sourcePath: imageFile.path,
        aspectRatioPresets: Platform.isAndroid
            ? [
                CropAspectRatioPreset.square,
                CropAspectRatioPreset.ratio3x2,
                CropAspectRatioPreset.original,
                CropAspectRatioPreset.ratio4x3,
                CropAspectRatioPreset.ratio16x9
              ]
            : [
                CropAspectRatioPreset.original,
                CropAspectRatioPreset.square,
                CropAspectRatioPreset.ratio3x2,
                CropAspectRatioPreset.ratio4x3,
                CropAspectRatioPreset.ratio5x3,
                CropAspectRatioPreset.ratio5x4,
                CropAspectRatioPreset.ratio7x5,
                CropAspectRatioPreset.ratio16x9
              ],
        androidUiSettings: AndroidUiSettings(
            toolbarTitle: 'Cropper',
            toolbarColor: Colors.deepOrange,
            toolbarWidgetColor: Colors.white,
            initAspectRatio: CropAspectRatioPreset.original,
            lockAspectRatio: false),
        iosUiSettings: IOSUiSettings(
          title: 'Cropper',
        ));
    if (croppedFile != null) {
      imageFile = croppedFile;
      setState(() {
        state = AppState.cropped;
      });
    }
  }
}

コンソールのスクリーンショット

4

0 に答える 0