android webp格式的图片,Android应用中对webp格式图片的处理

1、为何用webp格式

webp格式能够将图片尽可能小得压缩,这个在移动应用中使用很广,且技术较成熟。java

2、编译动态库包

编译的动态库包的源码参照GitHub地址请添加连接描述android

个人环境

Android Studio3.0.1

gradle 3.3

jdk 1.8.0_101

ndk-build android-ndk-r10e-windows-x86_64git

导入Android Studio,

注意Application.mk中的配置,APP_ABI配置是指须要生成哪些环境下的so包,个人环境起初添加了armeabi好像是有问题的,armeabi如今用的愈来愈少,我给去掉了。

277a5b0afdae44a8ffb51d7a2c140d14.pnggithub

Terminal中cd到jni路径执行命令以下:

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mkweb

bff85b7ed52ca7cfe81159326e0a787f.png

运行完成后会在jni目录下自动生成libs文件夹,生成动态库包如图:

2b0a88b6382fe3e14788f58f71eda4e4.pngwindows

此时动态库包就打好了,而后就是如何调用so包了,

在app目录下加入so包,

be181a7ac2ef3cf16d8a43bf3e4296f7.png

在咱们本身须要引用的工程中build.gradle中加入配置 android.sourceSets数组

sourceSets {

main {

jniLibs.srcDirs = ['libs']//设置目标的so存放路径

}

}

而后加入WebPDecoder.java,这里注意这个文件的路径必定要按照编译时的路径me.everything.webp.WebPDecoder。

固然若是须要也能够更改,不过要连编译时webp.c中的路径一并更改

d904d17b9590ed2f60a7f0b32bacd62b.pngapp

3、使用动态库包展现webp

最后就是调用了,bytes是webp格式的bytes数组形式ide

ImageView iv = findViewById( R.id.imageView );

Bitmap webpBitmap = WebPDecoder.getInstance().decodeWebP(bytes);

iv.setImageBitmap(webpBitmap);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值