uCrop图片裁剪开源库使用总结
来源:互联网 发布:java写界面应用 编辑:程序博客网 时间:2024/06/09 19:01
开源项目地址:https://github.com/Yalantis/uCrop
效果图:
配置uCrop裁剪参数
1.预设置裁剪框的尺寸:
1.1. 设置为何图片原始宽高比列一样
uCrop = uCrop.useSourceImageAspectRatio();
1.2. 动态的设置图片的宽高比,这里设置为1:1
uCrop = uCrop.withAspectRatio(1, 1);
2.设置裁剪出来图片的格式:
UCrop.Options options = new UCrop.Options(); //开始设置 options.setCompressionFormat(Bitmap.CompressFormat.WEBP); or options.setCompressionFormat(Bitmap.CompressFormat.JPEG); or options.setCompressionFormat(Bitmap.CompressFormat.PNG); //结束设置 uCrop.withOptions(options)
3.设置裁剪图片的质量(0到100):
UCrop.Options options = new UCrop.Options(); //开始设置 options.setCompressionQuality(mSeekBarQuality.getProgress()); //结束设置 uCrop.withOptions(options)
4.设置裁剪图片的手势操作开关:
UCrop.Options options = new UCrop.Options(); //开始设置 //一共三个参数,分别对应裁剪功能页面的“缩放”,“旋转”,“裁剪”界面,对应的传入NONE,就表示关闭了其手势操作,比如这里我关闭了缩放和旋转界面的手势,只留了裁剪页面的手势操作 options.setAllowedGestures(UCropActivity.NONE, UCropActivity.NONE, UCropActivity.ALL); //结束设置 uCrop.withOptions(options)
5.设置将被载入裁剪图片的最大尺寸:
UCrop.Options options = new UCrop.Options(); //开始设置 //设置裁剪图片的最大尺寸 options.setMaxBitmapSize(100); //结束设置 uCrop.withOptions(options)
6.一些其他设置:
UCrop.Options options = new UCrop.Options(); //开始设置 //设置最大缩放比例 options.setMaxScaleMultiplier(5); //设置图片在切换比例时的动画 options.setImageToCropBoundsAnimDuration(666); //设置裁剪窗口是否为椭圆 options.setOvalDimmedLayer(true); //设置是否展示矩形裁剪框 options.setShowCropFrame(false); //设置裁剪框横竖线的宽度 options.setCropGridStrokeWidth(20); //设置裁剪框横竖线的颜色 options.setCropGridColor(Color.GREEN); //设置竖线的数量 options.setCropGridColumnCount(2); //设置横线的数量 options.setCropGridRowCount(1); //结束设置 uCrop.withOptions(options)
开始使用uCrop
//originUri--原始图片的Uri;//mDestinationUri--目标裁剪的图片保存的UrimDestinationUri = Uri.fromFile(new File(getCacheDir(), "SampleCropImage.jpeg"));UCrop uCrop = UCrop.of(originUri, mDestinationUri);//开始设置//在这里用刚才上面的参数设置api自定义一些属性//结束设置uCrop.start(SampleActivity.this);
另外,需要在AndroidManifest.xml中配置一下:
<activity android:name="com.yalantis.ucrop.UCropActivity" android:screenOrientation="portrait"/>
uCrop裁剪结果获取
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { if (requestCode == UCrop.REQUEST_CROP) { final Uri resultUri = UCrop.getOutput(result); if (resultUri != null) { ResultActivity.startWithUri(SampleActivity.this,resultUri); } else { Toast.makeText(SampleActivity.this, R.string.toast_cannot_retrieve_cropped_image, Toast.LENGTH_SHORT).show(); } } } if (resultCode == UCrop.RESULT_ERROR) { handleCropError(data); } }
2 0
- uCrop图片裁剪开源库使用总结
- UCrop:图片裁剪开源库详细使用
- 图片裁剪框架ucrop使用前的封装
- 基于ucrop实现图片裁剪需求
- Android7.0拍照以及使用uCrop裁剪
- 图像裁剪框架uCrop-自我使用发现(1)
- 对图片裁剪框架 ucrop 的二次封装的工具类,添加从图库选择和拍照获取图片,项目中可直接使用,十分便捷
- Android 图片剪切 UCrop 使用过程中的坑
- Android裁剪图片总结
- Android图片剪裁库:uCrop
- 使用jcrop裁剪图片
- uCrop使用及源码浅析
- 裁剪图片之个人总结
- Ucrop集成到项目中实现头像裁剪功能
- Android 图片剪切框架 uCrop 简单集成
- android使用系统裁剪图片
- 图片裁剪 插件 crop4使用
- 使用js实现图片裁剪
- [计算几何笔记3]最小圆覆盖
- ubuntu apache laravel5.2 中.htaccess路由跳转无效
- Java 键盘上各个按键的KeyCode值
- 从头认识Spring-2.5 @Autowire @Inject @Qualifier @Named的相同与不同
- SharedPreferences的使用
- uCrop图片裁剪开源库使用总结
- Android 中的Intent在两个Acitvity传递数据示例
- 好用的C++数据库访问层
- 推荐几个swift学习网站
- python 正则表达式
- 笔试面试总结
- R语言数据集合并、数据增减、不等长合并
- HTML5的canvas画布常用绘图命令总结
- POJ 3734_Blocks