前言
如今華爲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展現
Github源碼
Github源碼:https://github.com/HMS-Core/hms-image-vision-java
原文連接:https://developer.huawei.com/consumer/cn/forum/topic/0201404755216720220?fid=18
做者:胡椒