教你輕鬆集成華爲Image Kit圖文排版功能

前言

如今華爲Image Kit圖文排版功能爲用戶提供了9種智能排版樣式,排版方式分爲內容等寬和內容不等寬兩種佈局。用戶可根據本身的圖片風格選擇合適的排版。java

應用場景

在咱們的電子雜誌排版中,有不少素材是須要添加文字的,這個時候爲了提升工做效率,image kit的排版方式就能夠知足,能夠快速排版成型。這也對用戶看圖增添文藝性。git

開發實戰

本次的開發實戰是實現對圖文排版的實現。github

開發準備

須要開發者提供圖片和相關參數,獲得相應的返回值。網絡

步驟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字段信息:app

在這裏插入圖片描述

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

在這裏插入圖片描述

authJson映射表:請參見authJson字段定義。佈局

圖文智能排版服務requestJson示例:ui

{
  "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繪製(能夠參考示例代碼繪製方式)。注意由於接口涉及網絡請求,須要開啓子線程去調用接口。this

// 獲取ImageLayoutInfo返回值
new Thread(new Runnable() {
    @Override    
    public void run() {
            ImageLayoutInfo imageLayoutInfo = imageVisionAPI.analyzeImageLayout(requestJson, imageBitmap);
        }           
    }).start();

ImageLayoutInfo 返回值:spa

在這裏插入圖片描述

response字段:

在這裏插入圖片描述

注意:使用圖文智能排版服務時,開發者須要保證提供的token是有效的,不然沒法使用該服務。token的獲取方式可參見token獲取方式:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides-V5/get_token-0000001055139693-V5

步驟6:中止服務。

當再也不須要圖文智能排版效果時,調用該接口中止服務,stopCode爲0時,執行成功。

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

Demo展現

教你輕鬆集成華爲Image Kit圖文排版功能

Github源碼

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


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

做者:胡椒

相關文章
相關標籤/搜索