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现在用的越来越少,我给去掉了。

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

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

此时动态库包就打好了,然后就是如何调用so包了,
在app目录下加入so包,

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

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

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

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

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

原文地址:https://blog.51cto.com/xuepiaoqiyue/2445285

时间: 2024-07-31 11:13:15

Android应用中对webp格式图片的处理的相关文章

Android设计中的.9.png图片

.9.png是一种能够自己定义拉伸特定区域的图片格式. 简书:Android设计中的.9.png图片 在Android的UI设计开发中,非常多控件须要适配不同的手机分辨率进行拉伸或者压缩,这样就出现了能够随意调整大小的一种图片格式".9.png".这样的图片是用于Android开发的一种特殊的图片格式,它能够指定特定的区域进行拉伸而不失真.同一时候能够指定前景内容的显示区域.即.9.png图片的用处能够概括为以下两点: - .9.png图片在图片拉伸的时候特定的区域不会发生图片失真.

windows下查看webp格式图片

关于webp 时下webp格式日渐势起,主流浏览器(IE: ???)已经开始支持webp,诸多互联网企业(Facebook 和 ebay,国内的有淘宝.腾讯和美团等)都已经在不遗余力的将webp应用到实际产品中. webp省流量且支持透明和动画,大有一统江湖的风范. 所以,少年,拥抱webp吧,除了兼容性和不熟悉,webp真的支持和拥有! windows 下如何查看webp格式 让windows照片查看器支持webp格式,在windows下可以直接预览webp图片. 下载安装下面的编码器即可以让

如何在latex 中插入EPS格式图片

如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所示: 注:这一步必须按照图示方式另存为,不能直接强行改后缀名,否则插入后无法显示. 2.利用matlab画图,直接另存为eps格式即可 第二步:插入代码 1.添加宏包   \usepackage{graphicx}     \usepackage{epstopdf} 2.将.eps图片和.tex文件

Android开发中 .9.png格式图形设计:

Android .9.png设计 宿舍大神在做android项目,有幸得知.9.png的图形格式. 不知道大家是否注意过聊天气泡和锁屏时随着你文字的增多和你的滑动而跟着变化并且分辨率没有变低的图形?是否好奇过它是怎么实现的? 该图片格式应用于Android设计中需要根据文字多少或其他条件而可以伸缩的图形外框,(应用于聊天气泡和滑动锁屏等). 而设计这种格式的不是ps等图片.处理工具而是Android-sdk里自带的draw9path.bat工具.  先找到自己电脑上的D:\you yong\El

SDWebImage支持WebP格式图片

SDWebImage本身就已经支持了webp格式的图片 1.下载libwebp https://github.com/webmproject/libwebp 然后你需要先安装好有homebrew或者macports 安装homebrewh很简单,执行一条命令即可 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 以下用homebrew安装下面3个组件 aut

Glide终于解决了同时加载webp格式图片的问题

前端时间,要给项目换个图片加载的库,使用Glide 3.7版本进行测试, 发现在快速滑动列表(每个item都会加载一个app的图标,采用webp格式,即同时加载多个webp格式)的时候,一屏至少有2-3个出现加载失败的情况(看LOG), 加载单个的webp格式是OK的: 但是采用png是OK的:后来只好采用picasso来加载图片, 现在项目需要加载Gif图片,所以又想到了glide. 今天用Glide 4.0.0版本进行测试,列表加载webp格式是OK了. 当然Glide 4.0.0 相比 3

知乎上有一个问题“在mfc框架中,有上面方法能直接将opencv2.0库中的Mat格式图片传递到Picture Control”中显示?

一直以来,我使用的方法都是shiqiyu在opencvchina上面提供的引入directshow,并且采用cvvimage和cameraDs的方法.这个方法虽然在xp/win7/win8下面都能够成果使用,但是一直以来我都没有动机去深入看一看这个方法.这次在知乎上面看到 jie wu 提出的“将Opencv窗口添加到PictureControl”中的方法,感到思路很好,进行了具体实现 http://pan.baidu.com/s/1nuixdhR 具体可以看代码,我帖一些主要代码 void C

ionic ng-src 在网页显示,但是导出apk在android手机中运行不显示图片

解决方法参照: http://stackoverflow.com/questions/29896158/load-image-using-ng-src-in-android-ionic-aplication 步骤: (1)安装 cordova-plugin-whitelist [email protected]:myapp1$ cordova plugins add cordova-plugin-whitelist (2)确保config.xml配置文件 <access origin="*

mac下空格预览.webp格式图片

WebP-2.2.qlgenerator 下载: https://github.com/dchest/webp-quicklook/releases/download/v2.2/WebP-2.2.qlgenerator.zip 安装: sudo cp WebP-2.2.qlgenerator.zip /Library/QuickLook/ sudo unzip /Library/QuickLook/WebP-2.2.qlgenerator.zip sudo rm -rf /Library/Qui