Build Status pub package license

We use image_picker to selecte images from the Android and iOS image library, but it can't save image to gallery,this plugin can provide this feature.


To use this plugin, add image_gallery_saver as a dependency in your pubspec.yaml file.


Add the following keys to your Info.plist file, located in /ios/Runner/Info.plist:

  • NSPhotoLibraryAddUsageDescription - describe why your app needs permission for the photo library. This is called Privacy - Photo Library Additions Usage Description in the visual editor


No configuration required - the plugin should work out of the box.


import 'dart:typed_data';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'dart:ui' as ui;

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
    Widget build(BuildContext context) {
        return MaterialApp(
            title: 'Flutter Demo',
            theme: ThemeData(
            home: MyHomePage(),

class MyHomePage extends StatefulWidget {
    _MyHomePageState createState() => _MyHomePageState();

class _MyHomePageState extends State<MyHomePage> {
    GlobalKey _globalKey = GlobalKey();

    Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
                title: Text(""),
            body: RepaintBoundary(
                key: _globalKey,
                child: Center(
                    child: Container(
                        child: RaisedButton(
                            onPressed: _saved,
                            child: Text("保存屏幕截图"),
                        width: 100,
                        height: 50,
    _saved() async {
        RenderRepaintBoundary boundary =
        ui.Image image = await boundary.toImage();
        ByteData byteData =
        await image.toByteData(format: ui.ImageByteFormat.png);
        final result = await;