我是靠谱客的博主 执着草丛,最近开发中收集的这篇文章主要介绍android webp格式的图片,Android应用中对webp格式图片的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、为什么用webp格式

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

二、编译动态库包

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

我的环境

Android Studio3.0.1

gradle 3.3

jdk 1.8.0_101

ndk-build android-ndk-r10e-windows-x86_64

导入Android Studio,

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

8f8769a77c382f3f25980180eab776eb.png

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

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

48bc028f13c4c1b558e9153149674a67.png

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

3860d05c22ade4c358ca907b75c7504a.png

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

在app目录下加入so包,

6e4e5718476a1b7009ed22ddd6291b18.png

在我们自己需要引用的工程中build.gradle中加入配置 android.sourceSets

sourceSets {

main {

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

}

}

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

当然如果需要也可以更改,不过要连编译时webp.c中的路径一并更改

a06b5d439d79b55cf3a491549e3226a6.png

三、使用动态库包展示webp

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

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

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

iv.setImageBitmap(webpBitmap);

最后

以上就是执着草丛为你收集整理的android webp格式的图片,Android应用中对webp格式图片的处理的全部内容,希望文章能够帮你解决android webp格式的图片,Android应用中对webp格式图片的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部