Android应用中对webp格式图片的处理
admin
2023-02-09 15:00:17
0

一、为什么用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现在用的越来越少,我给去掉了。
Android应用中对webp格式图片的处理

Terminal中cd到jni路径执行命令如下:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk

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

运行完成后会在jni目录下自动生成libs文件夹,生成动态库包如图:
Android应用中对webp格式图片的处理

此时动态库包就打好了,然后就是如何调用so包了,
在app目录下加入so包,
Android应用中对webp格式图片的处理
在我们自己需要引用的工程中build.gradle中加入配置 android.sourceSets

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

然后加入WebPDecoder.java,这里注意这个文件的路径一定要按照编译时的路径me.everything.webp.WebPDecoder。
当然如果需要也可以更改,不过要连编译时webp.c中的路径一并更改
Android应用中对webp格式图片的处理

三、使用动态库包展示webp
最后就是调用了,bytes是webp格式的bytes数组形式

ImageView iv = findViewById( R.id.imageView );
Bitmap webpBitmap = WebPDecoder.getInstance().decodeWebP(bytes);
        iv.setImageBitmap(webpBitmap);

相关内容

热门资讯

乌宣称首次使用无人潜航器击伤俄... 澎湃新闻记者 谢瑞强乌克兰声称首次使用无人潜航器袭击俄潜艇,俄海军“基洛”级潜艇被击伤。据央视新闻1...
200余家金融机构集中调研!长... 【大河财立方消息】 12月16日,长安汽车接受安信基金、东方证券等200余家金融机构调研。前一日,长...
最新引进“闽游麻将.真的有挂吗... 最新引进“闽游麻将.真的有挂吗?”其实是有挂您好,闽游麻将这个游戏其实有挂的,确实是有挂的,需要了解...
河南2家企业上榜!最新全球10... 【大河财立方 记者 徐姣】 12月16日,胡润研究院发布《2025胡润全球高质量企业TOP1000》...
玩家攻略科普“一言棋牌.有没有... 网上科普关于“一言棋牌有没有挂”话题很是火热,小编也是针对一言棋牌作*弊开挂的方法以及开挂对应的知识...
洛阳盛龙矿业下周二IPO上会!... 【大河财立方 记者 陈玉尧】 12月16日,深交所公告,定于2025年12月23日召开2025年第3...
商汤发布AI办公智能体小浣熊3... IT之家 12 月 16 日消息,商汤科技今日发布了 AI 办公智能体“小浣熊 3.0”,宣称其在“...
【今日要闻】“新518互游.开... 【今日要闻】“新518互游.开挂器?”太坑了果然有挂您好,新518互游这个游戏其实有挂的,确实是有挂...
【第一资讯】“大玩家福建麻将.... 网上科普关于“大玩家福建麻将有没有挂”话题很是火热,小编也是针对大玩家福建麻将作*弊开挂的方法以及开...
【第一财经】“七彩丹霞.到底是... 网上科普关于“七彩丹霞有没有挂”话题很是火热,小编也是针对七彩丹霞作*弊开挂的方法以及开挂对应的知识...