前言
在我们拍摄完一张照片后,为了让照片更好看、比例更完美经常会裁剪掉多余的部分。华为Image Kit图片裁剪功能给您提供设置裁剪比例、设置裁剪图形、图片旋转等一系列便捷的操作。
应用场景
我们最常用的是手机相机拍摄图片,或者用修图软件直接裁剪再进行美化,提供了方便性。
开发实战
下面给大家介绍怎么集成Image kit的图片裁剪能力:
编辑调整服务,图片裁剪服务的所有接口的实现都是基于CropLayoutView,是一个自定义View,import的包名为com.huawei.hms.image.vision.crop.CropLayoutView,可以直接集成在layout的XML中。
步骤1:获取到CropLayoutView对象。
通过findViewById获取到CropLayoutView 对象后,可以调用具体的逻辑方法。
CropLayoutView cropLayoutView = findViewById(R.id.cropImageView);
步骤2: 设置需要裁剪的图片,设置完成后,就可以对view进行操作。
cropLayoutView.setImageBitmap(inputBm);
l 如果需要图片旋转90,则调用图片旋转接口。
cropLayoutView.rotateClockwise();
l 如果需要图片水平方向镜像,则调用图片水平方向镜像接口。
cropLayoutView.flipImageHorizontally();
l 如果需要图片竖直方向镜像,则调用图片竖直方向镜像接口。
cropLayoutView.flipImageVertically();
l 如果需要裁剪固定比例的图片,则调用如下接口。
cropLayoutView.setAspectRatio(ratioX, ratioY);
l 如果需要裁剪任意比例的图片,则调用如下接口。
cropLayoutView.setFixedAspectRatio(false);
l 如果需要裁剪矩形形状的图片或者椭圆形形状的图片,则调用如下接口。
// 矩形
cropLayoutView.setCropShape(CropLayoutView.CropShape.RECTANGLE);
// 椭圆形
cropLayoutView.setCropShape(CropLayoutView.CropShape.OVAL);
步骤3: 调整好图片被裁剪的大小,获取裁剪后图片的bitmap格式。
Bitmap croppedImage = cropLayoutView.getCroppedImage();
DEMO效果
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0204404704666920206?fid=18
原作者:胡椒