flutter 中对图片的处理(选取和裁剪)的插件

问题:在使用flutter开发的时候,我们通常会遇到对图片的处理,比如:从相册中选取图片(这篇文章不再叙述,如有疑问请点这里查看)
今天的问题将选取到的图片进行裁剪

1、安装依赖

  # 本地图片
  image_picker: ^0.6.0+4
    # 图片裁切
  image_cropper: ^1.0.2

2、使用裁剪功能之前需要在AndroidManifest.xml文件中配置

 <activity
            android:name="com.yalantis.ucrop.UCropActivity"
            android:screenOrientation="portrait"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

3、在页面上引入插件

import 'package:image_picker/image_picker.dart';
import 'dart:io';
import 'package:image_cropper/image_cropper.dart';

4、定义方法

File _image;
  Future getImage() async {
    var image = await picker.getImage(source: ImageSource.gallery);
    File croppedFile = await ImageCropper.cropImage(
      sourcePath: image.path,
      maxWidth: 512,
      maxHeight: 512,
    );
    setState(() {
      print('>>>>>>>>>> $croppedFile');
      _image = croppedFile;
    });
  }

5、在点击上传的按钮调用 getImage

注意:根据以上流程来的裁剪出来的图片是矩形的,因为插件中提供默认截取方式是矩形的。如果我们想要截出来的图片是圆形的,需要在ImageCropper.cropImage()增加一个cropStyle参数: cropStyle:CropStyle.circle

File _image;
  Future getImage() async {
    var image = await picker.getImage(source: ImageSource.gallery);
    File croppedFile = await ImageCropper.cropImage(
      sourcePath: image.path,
      maxWidth: 512,
      maxHeight: 512,
      cropStyle:CropStyle.circle
    );
    setState(() {
      print('>>>>>>>>>> $croppedFile');
      _image = croppedFile;
    });
  }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值