前言

当初华为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:构建参数对象。

requestJson字段信息:

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

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 返回值:

response字段:

留神:应用图文智能排版服务时,开发者须要保障提供的token是无效的,否则无奈应用该服务。token的获取形式可参见token获取形式:https://developer.huawei.com/...。
步骤6:进行服务。

当不再须要图文智能排版成果时,调用该接口进行服务,stopCode为0时,执行胜利。

 if (null != imageVisionAPI) {    int stopCode = imageVisionAPI.stop();}

Demo展现

Github源码

Github源码:https://github.com/HMS-Core/hms-image-vision-java


原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201404755216720220?fid=18

作者:胡椒