java中图片排版,教你轻松集成华为Image Kit图文排版功能

前言

现在华为Image Kit图文排版功能为用户提供了9种智能排版样式,排版方式分为内容等宽和内容不等宽两种布局。用户可根据自己的图片风格选择合适的排版。

应用场景

在我们的电子杂志排版中,有很多素材是需要添加文字的,这个时候为了提高工作效率,image kit的排版方式就可以满足,可以快速排版成型。这也对用户看图增添文艺性。

开发实战

本次的开发实战是实现对图文排版的实现。

开发准备

需要开发者提供图片和相关参数,得到相应的返回值。

步骤1:导入图文智能排版服务包。

import   com.huawei.hms.image.vision.bean.ImageLayoutInfo ;

import   com.huawei.hms.image.vision.*;

步骤2:获取图文智能排版服务实例。

// 获取ImageVisionImpl 对象

ImageVisionImpl imageVisionAPI   = ImageVision.getInstance(this);

步骤3:服务初始化,与滤镜服务一致,可参考开发步骤中的相关描述。

步骤4:构建参数对象。

fd24a860fb241e49d10a202dc3587ad3.png

requestJson字段信息:

c25bce9a45329071856acc65b3b0a658.png

图文智能排版的taskJson字段信息:

3d943c5530c3c478118cc6ba0d314fe0.png

authJson映射表:请参见authJson字段定义。

图文智能排版服务requestJson示例:

{

"requestId":"requestId",

"taskJson":{"title":"轻奢新生代","description":"远离城市的喧嚣","copyRight":"华为杂志锁屏","isNeedMask":false,"anchor":"查看详情","styleList":["info1"]},  "authJson":{"projectId":"projectIdTest","appId":"appIdTest","authApiKey":"authApiKeyTest","clientSecret":"CSecretTest","clientId":"CIdTest","token":"tokenTest"}

}

步骤5:图文智能排版服务获取结果。

开发者在调用图文智能排版接口时,需要输入待处理图片Bitmap并选择样式和需要添加的文字等(构建参数)。图文智能排版服务需要联网,如不联网,则默认反回info3样式。图文智能排版服务会返回ImageLayoutInfo封装类,根据封装类的参数进行view绘制(可以参考示例代码绘制方式)。注意因为接口涉及网络请求,需要开启子线程去调用接口。

// 获取ImageLayoutInfo返回值

new Thread(new Runnable() {

@Override

public void run() {

ImageLayoutInfo imageLayoutInfo = imageVisionAPI.analyzeImageLayout(requestJson, imageBitmap);

}

}).start();

ImageLayoutInfo 返回值:

40152b2383acceef8895f7eccd9f8507.png

response字段:

de263a50323fc13c83550bddbccb6a52.png

步骤6:停止服务。

当不再需要图文智能排版效果时,调用该接口停止服务,stopCode为0时,执行成功。

if (null != imageVisionAPI) {

int stopCode = imageVisionAPI.stop();

}

Demo展示

ee9a8d42ab0c9c427480d0c39a26127e.gif

Github源码

作者:胡椒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值