百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

Android开发工具类之ImageUtils(安卓开发 imageview)

liuian 2025-01-29 16:47 15 浏览

(点击上方公众号,可快速关注)

公众号:smart_android

作者:耿广龙|loonggg

点击“阅读原文”,可查看更多内容和干货

开发最重要的就是速度和效率,其实我一直都非常支持使用第三方的工具类,因为毕竟是一些大牛封装好的,效率什么的,可能比一些初学者写的确实好一些,但是我建议在使用第三方的时候,也应该弄懂整个原理再使用,因为去看了人家写的代码,有助于提高自己的能力。从今天开始,我逐渐会慢慢的分享一些第三方工具类或者jar包的使用。

今天我们就先介绍一个跟图片使用有关的工具类,ImageUtils图片工具类,可用于Bitmap, byte array, Drawable之间进行转换以及图片缩放。

这个工具类里封装了以下方法:

1、bitmapToByte(Bitmap b)

这个方法就是把Bitmap转换成字节

2、bitmapToDrawable(Bitmap b)

这个方法就是把Bitmap类型转换成Drawable类型的图片

3、byteToBitmap(byte[] b)

这个方法就是把字节转换成Bitmap类型的图片

4、byteToDrawable(byte[] b)

这个方法就是把字节转换成Drawable类型的图片

5、drawableToBitmap(Drawable d)

这个方法就是把Drawable类型转换成Bitmap类型的图片

6、drawableToByte(Drawable d)

这个方法就是把Drawable类型图片转换成字节

7、getInputStreamFromUrl(String imageUrl, int readTimeOutMillis)

这个方法就是从网络的图片地址Url得到输入流,你需要自己去关闭这个输入流

8、getBitmapFromUrl(String imageUrl, int readTimeOut)

这个方法就是通过图片地址url获取Bitmap类型的图片

9、getDrawableFromUrl(String imageUrl, int readTimeOutMillis)

这个方法就是通过图片地址url获取Drawable类型的图片

10、scaleImageTo(Bitmap org, int newWidth, int newHeight)

这个方法就是通过传值设置图片的大小,int类型的

11、scaleImage(Bitmap org, float scaleWidth, float scaleHeight)

这个方法就是通过传值设置图片的大小,float类型的

怎么样,有了这样的工具类很方便吧?赶紧来使用吧!获取方法就是在公众号中回复关键字“ImageUtils”即可获得

【特别推荐↓】

「非著名程序员」本人建立了一个高端Android微信交流群,如果有想加入的请先加我个人微信号:loonggg ,具体加入条件非常简单,加我个人微信号时,请备注为:加群,到时会告诉你具体的加入流程,感谢??每位开发者的配合。

非著名程序员

微信号:smart_android

(长按上图,弹出“识别二维码”后可快速关注)

可能是东半球最好的技术分享公众号

「非著名程序员」字耿左直右,号涩郎,爱搞机,爱编程,是爬行在移动互联网中的一名码匠!专注于移动互联网的开发和研究,本号致力于分享IT技术和程序猿工作心得体会。欢迎大家关注与分享。

--------------------------------------

商务合作QQ:731457626

个人微信号:loonggg

投稿邮箱:loonggg.android@foxmail.com

相关推荐

MySQL合集-mysql5.7及mysql8的一些特性

1、Json支持及虚拟列1.1jsonJson在5.7.8原生支持,在8.0引入了json字段的部分更新(jsonpartialupdate)以及两个聚合函数,JSON_OBJECTAGG,JS...

MySQL 双表架构在房产中介房源管理中的深度实践

MySQL房源与价格双表封神:降价提醒实时推送客户房产中介实战:MySQL空间函数精准定位学区房MySQL狠招:JSON字段实现房源标签自由组合筛选房源信息与价格变更联动:MySQL黄金搭档解决客户看...

MySQL 5.7 JSON 数据类型使用总结

从MySQL5.7.8开始,MySQL支持原生的JSON数据类型。MySQL支持RFC7159定义的全部json数据类型,具体的包含四种基本类型(strings,numbers,boolea...

MySQL 8.0 SQL优化黑科技,面试官都不一定知道!

前言提到SQL优化,大多数人想到的还是那些经典套路:建索引、避免全表扫描、优化JOIN顺序…这些确实是基础,但如果你还停留在MySQL5.7时代的优化思维,那就out了。MySQL8.0已经发布好...

如何在 MySQL 中使用 JSON 数据(mysql的json函数与实例)

在MySQL中学习“NoSQL”MySQL从5.7版本开始就支持JSON格式的数据类型,该数据类型支持JSON文档的自动验证和优化存储和访问。尽管JSON数据最好存储在MongoDB等...

MySQL中JSON的存储原理(mysql中json字段操作)

前言:表中有json字段后,非索引查询性能变得非常糟糕起因是我有一张表,里面有json字段后,而当mysql表中有200w数据的时候,走非索引查询性能变得非常糟糕需要3到5s。因此对mysql的jso...

mysql 之json字段详解(多层复杂检索)

MySQL5.7.8开始支持JSON数据类型。MySQL8.0版本中增加了对JSON类型的索引支持。示例表CREATETABLE`users`(`id`intNOTNULLAU...

VMware vCenter Server 8.0U3b 发布下载,新增功能概览

VMwarevCenterServer8.0U3b发布下载,新增功能概览ServerManagementSoftware|vCenter请访问原文链接:https://sysin.or...

Spring Boot 3.x 新特性详解:从基础到高级实战

1.SpringBoot3.x简介与核心特性1.1SpringBoot3.x新特性概览SpringBoot3.x是建立在SpringFramework6.0基础上的重大版...

如何设计Agent的记忆系统(agent记忆方法)

最近看了一张画Agent记忆分类的图我觉得分类分的还可以,但是太浅了,于是就着它的逻辑,仔细得写了一下在不同的记忆层,该如何设计和选型先从流程,作用,实力和持续时间的这4个维度来解释一下这几种记忆:1...

Spring Boot整合MyBatis全面指南:从基础到高级应用(全网最全)

一、基础概念与配置1.1SpringBoot与MyBatis简介技术描述优点SpringBoot简化Spring应用开发的框架,提供自动配置、快速启动等特性快速开发、内嵌服务器、自动配置、无需X...

5大主流方案对比:MySQL千亿级数据线上平滑扩容实战

一、扩容方案剖析1、扩容问题在项目初期,我们部署了三个数据库A、B、C,此时数据库的规模可以满足我们的业务需求。为了将数据做到平均分配,我们在Service服务层使用uid%3进行取模分片,从而将数据...

PostgreSQL 技术内幕(五)Greenplum-Interconnect模块

Greenplum是在开源PostgreSQL的基础上,采用MPP架构的关系型分布式数据库。Greenplum被业界认为是最快最具性价比的数据库,具有强大的大规模数据分析任务处理能力。Greenplu...

在实际操作过程中如何避免出现SQL注入漏洞

一前言本文将针对开发过程中依旧经常出现的SQL编码缺陷,讲解其背后原理及形成原因。并以几个常见漏洞存在形式,提醒技术同学注意相关问题。最后会根据原理,提供解决或缓解方案。二SQL注入漏洞的原理、形...

运维从头到尾安装日志服务器,看这一篇就够了

一、rsyslog部署1.1)rsyslog介绍Linux的日志记录了用户在系统上一切操作,看日志去分析系统的状态是运维人员必须掌握的基本功。rsyslog日志服务器的优势:1、日志统一,集中式管理...