flutter_image_crop_plugin 1.0.3 copy "flutter_image_crop_plugin: ^1.0.3" to clipboard
flutter_image_crop_plugin: ^1.0.3 copied to clipboard

outdated

A flutter image crop Plugin.

example/lib/main.dart

/*
 * @Author: your name
 * @Date: 2019-12-05 17:12:48
 * @LastEditTime: 2019-12-06 09:27:08
 * @LastEditors: your name
 * @Description: In User Settings Edit
 * @FilePath: /flutter_image_crop_plugin/example/lib/main.dart
 */
import 'dart:convert';
import 'dart:typed_data';
import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_image_crop_plugin/flutter_image_crop_plugin.dart';

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

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {

  Future _future;
  // 裁剪后的图片数据
  Uint8List _imageData;

  @override
  void initState() {
    super.initState();

    _future = _getImageData();

    FlutterImageCropPlugin.getImage((imageData) {
      setState(() {
        _imageData = imageData;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Container(
          width: 375,
          height: 667,
          child: FutureBuilder(
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                return Stack(
                  children: <Widget>[
                    Container(
                      width: 375,
                      height: 667,
                      child: FlutterImageCropPlugin.imageCropWidget(_setCreationParams(snapshot.data)),
                    ),
                    Positioned(
                      bottom: 0,
                      left: 0,
                      child: Container(
                        height: 100,
                        width: 100,
                        child: (_imageData == null) ? Container() : Image.memory(_imageData),
                      ),
                    )
                  ],
                );
              } else {
                return Container();
              }
            },
            future: _future,
          ),
        ),
      ),
    );
  }

  Map _setCreationParams(String imageBase64) {
    return {
      'toCropImage': imageBase64,
      'showMidLines': false,
      'needScaleCrop': false,
      'showCrossLines': false,
      'cornerBorderInImage': false,
      'cropAreaCornerWidth': 44,
      'cropAreaCornerHeight': 44,
      'minSpace': 30,
      'cropAreaCornerLineWidth': 3,
      'cropAreaBorderLineWidth': 0,
      'cropAreaMidLineWidth': 0,
      'cropAreaMidLineHeight': 0,
      'cropAreaCrossLineWidth': 0,
      'cropAspectRatio': 0,
    };
  }

  Future<String> _getImageData() async {
    ByteData imageData = await rootBundle.load('images/image.jpeg');
    String imageBase64 = base64Encode(imageData.buffer.asUint8List());
    return imageBase64;
  }
}
7
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A flutter image crop Plugin.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on flutter_image_crop_plugin