博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 让图片等比例缩放的三种方法
阅读量:6710 次
发布时间:2019-06-25

本文共 707 字,大约阅读时间需要 2 分钟。

方法一:客户端等比例

  前提条件:服务器端需要返回原始图片的“宽和高”或者“宽高缩放比例”,客户端要显示的图片的宽或者高只要其一是固定的(例如:高度为200,宽度未知,或者高度为400宽度未知)

  在这种条件下客户端可以根据服务端返回的图片的宽高或者宽高比例计算出图片相对于屏幕的宽或者高。例如:缩放比例为:宽(图片原始宽度200px)/高(图片原始高度400px) = 0.5 。客户端定义要显示的宽度为100px,则根据缩放比例高度应该显示200px(100/0.5=200)图片才不会变形。android:scaleType="fitXY"

方法二:服务端等比例

  前提条件:客户端必须告诉服务端他要拿到的图片的宽度和高度。

  服务端根据客户端给出的宽高,按照服务端能给到的最优方案返回一张按照等比例缩放的缩略图,给客户端显示 android:scaleType="fitXY"

方法三:客户端+服务端都等比例缩放

  方法一和方法二都能够在一定程度上解决图片按等比例方式显示,但是都具有一定的不足,第一种方法的不足之处是:服务端返回的图片是原图,比较浪费流量和手机内存。第二中方法的不足之处是,有时候客户端给到服务端的宽高,服务端并不能够按照客户端的要求

返回。因此在显示上会出现一定的拉伸或者压缩。

  比较好的一种方法是:第一种方法+第二种方法。首先服务端会给到客户端原始图片的宽高比例,客户端根据宽高比例,计算出最优的要显示到界面上的宽和高给到服务器。服务器拿到客户端给的宽高之后,计算出一个缩略图给到客户端,之后客户端拿到这张图片直接显示。android:scaleType="fitXY"

转载地址:http://uuilo.baihongyu.com/

你可能感兴趣的文章
ssh
查看>>
iOS面试题收集
查看>>
cmd常用命令
查看>>
HttpURLConnection getting locked
查看>>
Wireshark过滤器语法设置
查看>>
PHP使用zlib扩展实现页面GZIP压缩输出
查看>>
jquery的each()详细介绍
查看>>
oracle JOB 查询 添加 修改 删除 运行
查看>>
Struts2下载配置contentDisposition的含义
查看>>
如何安全的存储用户的密码【摘】
查看>>
eclipse在 Android Private Libraries中添加支持库
查看>>
BeanUtils MethodUtils PropertyUtils 的使用
查看>>
http接口测试—自动化测试框架设计
查看>>
Tomcat 热部署实现方式源码分析总结
查看>>
linux进程
查看>>
rabbitmq routing and binding relation
查看>>
clojure 备忘
查看>>
CentOS7上搭建Maven服务器
查看>>
关于dispatch_semaphore的使用
查看>>
VS2008编译工程缺少glaux库的解决方法
查看>>