Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
329 views
in Technique[技术] by (71.8m points)

flutter - Error in converting multiple images to JPG

I am trying to convert multiple images to JPG below is my code

                     onPressed: () async {
                      for (int i = 0; i < images.length; i++) {
                        var path = await FlutterAbsolutePath.getAbsolutePath(
                            images[i].identifier);
                        print("path");
                        print(path);
                        final output = await getExternalStorageDirectory();
                        var _image;
                        var destination = '${output.path}/test_image$index.jpg';
                        index = index + 1;

                        _image = File(destination)..writeAsBytesSync(img.encodeJpg(path));
                        GallerySaver.saveImage(_image.path, albumName: 'Image Resizer')
                            .then((bool success) {
                          Fluttertoast.showToast(
                              msg: "Image saved",
                              toastLength: Toast.LENGTH_SHORT,
                              gravity: ToastGravity.BOTTOM,
                              timeInSecForIosWeb: 5,
                              backgroundColor: Colors.red,
                              textColor: Colors.white,
                              fontSize: 16.0);
                        });
                      }

but I am getting below error

https://i.stack.imgur.com/S5UP2.png

question from:https://stackoverflow.com/questions/65933681/error-in-converting-multiple-images-to-jpg

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

image plugin operate with Image class as input for formatting methods. You can create an instance of Image class by calling decodeImage method:

final imageFile = img.decodeImage(File(path).readAsBytesSync());
final encodedImage = img.encodePng(imageFile);
_image = File(destination)..writeAsBytesSync(encodedImage);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...