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

华为开发者论坛 2020/11/21 20:24:56

前言 我们在生活中美化图片的方法很多,贴纸花字是其中一种美化功能。Image Kit的贴纸花字可任意添加、拖动、缩放,且可以自定义花字的文本内容,为你的图片增添新活力。 应用场景 贴纸花字大多数可用于修图软件里,你可选择与图片风格相搭配的贴纸花字,且类型丰富多样。…

前言

我们在生活中美化图片的方法很多,贴纸花字是其中一种美化功能。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效果

图片描述

原作者:胡椒

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[集成华为Image Kit美化功能 为你的图片增添新元素]http://www.zyiz.net/tech/detail-149217.html

上一篇:如何实现一个简单的字数统计,限制功能

下一篇:Kotlin Vocabulary | Collection 和 Sequence

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程