xkeee
xkeee
  • 发布:2024-11-22 08:30
  • 更新:2024-11-22 23:23
  • 阅读:256

uts组件开发:怎么读取APP的图片资源,转换为Bitmap对象,传给第三方sdk?

分类:uts

//------------下面是SDK的调用说明,要求传入一个图片资源Bitmap:
// 选择期望的色彩滤镜文件,滤镜文件可以在小直播 App 的资源文件中获取(以 tuibeautyfilter 开头的 .png 文件)。
Bitmap filterBmp = decodeResource(getResources(), R.drawable.tuibeauty_filter_biaozhun);
mLivePusher.getBeautyManager().setFilter(filterBmp);

问题:
1,uts组件开发时,怎么读取一个本地图片文件?目的就是构建一个bitmap的实例。
2,这个图片资源,应该是放在:组件->static 里吗? 还是要放在 组件->utssdk->app-android->assets里?安卓和IOS都要使用。

2024-11-22 08:30 负责人:无 分享
已邀请:

最佳回复

z***@qq.com

z***@qq.com

放在 static 里面,然后拿路径直接转换就行,至于怎么转换你要自己去查一下

  • xkeee (作者)

    关键是不知道怎么把这个图片读取出来,形成一个bitmap实例,把uts文档和demo看了N遍,也没找到相关代码~

    2024-11-22 09:36

  • z***@qq.com

    回复 xkeee: 去问chatgtp那种

    2024-11-22 10:01

  • xkeee (作者)

    回复 z***@qq.com: 明白,正在进行中...

    2024-11-22 10:02

  • z***@qq.com

    new File(UTSAndroid.getResourcePath(url as string)) 这个应该是url传入 ‘static/logo.png’ 类似这样的一个地址传过去拿到的一个File ,剩下怎么转bitmap你自己去查看看

    2024-11-22 10:09

Worry

Worry

将图片转base64,然后在uts插件那边用原生方法将base64转Bitmap

function base64ToBitmap(base64Data : string) : Bitmap {  
    const mDecodeData = Base64.decode(base64Data, Base64.DEFAULT);  
    const mBitmap = BitmapFactory.decodeByteArray(mDecodeData, 0, mDecodeData.size)  
    return mBitmap  
}
  • xkeee (作者)

    多谢亲,但是这绕了一圈,按理说,直接从静态资源类里读取图片文件就可以了,我在尝试为什么openFd不可以。

    2024-11-22 12:54

xkeee

xkeee (作者)

绕了一大圈,最后发现,要么掉坑里了,要么研究得不透彻(也不想再研究了)!!!

一直在“getResourcePath、convert2AbsFullPath”上尝试,但是发现:这2个方法返回的【项目根目录/static】里的资源(不是组件/static的)

后面在uts-advance里发现也有个logo.png,是通过:import logo from "../../static/logo.png" 使用的!!!
如果有几十个图片岂不是...
算了,放assets里了...

// let inputStream = assetManager.open("tuibeauty_filter_baixi.png");
// let bitmap2 : Bitmap = BitmapFactory.decodeStream(inputStream);

  • DCloud_App_Array

    应该先通过 import imgPath from "../../static/xxx.png" //imgPath会转换为uni-app x项目路径

    在app-android平台通过 UTSAndroid.convert2AbsFullPath(imgPath) 转换为android原生路径

    注意:原生路径有两种可以,真机运行时是sdcard的应用沙盒路径,正式打包后是assets路径

    2024-11-23 16:24

要回复问题请先登录注册