继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

集成华为Image Kit美化功能 为你的图片增添新元素

华为开发者论坛
关注TA
已关注
手记 196
粉丝 11
获赞 2

前言

我们在生活中美化图片的方法很多,贴纸花字是其中一种美化功能。Image Kit的贴纸花字可任意添加、拖动、缩放,且可以自定义花字的文本内容,为你的图片增添新活力。

应用场景

贴纸花字大多数可用于修图软件里,你可选择与图片风格相搭配的贴纸花字,且类型丰富多样。

在这里插入图片描述

在这里插入图片描述

开发实战

下面给大家介绍怎么集成Image kit的贴纸花字能力:

开发准备
贴纸花字服务的所有接口的实现都是基于StickerLayout,是一个自定义View,import的包名为com.huawei.hms.image.vision.sticker.StickerLayout,直接可以集成在layout的XML中。

步骤1: 获取到StickerLayout对象。
通过findViewById获取到StickerLayout对象后,可以调用具体的逻辑方法。

StickerLayout mStickerLayout =   findViewById(R.id.sticker_container);

步骤2: 提供资源文件。

贴纸定义规范
花字定义规范

步骤3: 添加贴纸花字。
调用addSticker接口,添加贴纸花字,传入资源文件路径和文件名,如果返回码为0,则为添加成功,贴纸花字总数最多可以添加50个。

int   resultCode = mStickerLayout.addSticker(rootPath,   fileName);

请求接口参数描述:

参数列表 类型 M/O(必选/可选) 说明
rootPath String M 资源文件根目录。
fileName String M 如果是贴纸,需要指定的文件名,其他可以传null。

代码示例:

addSticker(rootPath + "贴纸1", "sticker_10_editable.png");
addSticker(rootPath + "花字4", null);

步骤4: 更新花字的文本。

开发者可以对花字文本进行编辑,通过回调方法setStickerLayoutListener(new StickerLayout.StickerLayoutListener

获取花字文本编辑对象textEditInfo,textEditInfo 调用setText,进行文字编辑,最后mStickerLayout调用[updateStickerText]方法进行更新。

//获取TextEditInfo对象

mStickerLayout.setStickerLayoutListener(new   StickerLayout.StickerLayoutListener() {

    @Override  
    public void   onStickerLayoutClick() {

    }

    @Override
    public void   onStickerTouch(int index) {

    }

    @Override  
    public void   onTextEdit(TextEditInfo textEditInfo) {
          StickerActivity.this.textEditInfo = textEditInfo;   
    }

    @Override
    public void   needDisallowInterceptTouchEvent(boolean isNeed) {

    }
});

//更新花字文本为"花字测试"字样
textEditInfo.setText("花字测试");
mStickerLayout.updateStickerText(textEditInfo);

DEMO效果

图片描述

原作者:胡椒

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP