查看截图的属性,为什么用手机截图分辨率是1dpi等于多少像素,用电脑截图分辨率是96dpi?

理解Android中dpi和分辨率的关系,谈谈Android做成适应全部手机的UI方式
理解Android中dpi和分辨率的关系,谈谈Android做成适应全部手机的UI方式
最近我在做一个界面,UI给的切图是这个分辨率的,给的标注单位是px(像素)。
我把原图自然而然地放在drawable-xhdpi中,然后开始调整布局(当时我默认1dp=2px)。把这个布局放到一个720P的电视上,发现完全变形了,奇囧无比之际,看了下电视的density,发现这货是1,这是一个mdpi的设备!!!
然后我就开始想了,720P的切图,要放在xhdpi这里,但是有的设备自身是mdpi之类的,那这个分辨率和dpi到底是什么关系?
楼主先是查了下基本的概念:
1.DPI:dots per inch,一英寸的像素数量,这个值是设备自己决定的,是写死的,当然也有厂商自己搞了个density=1.25的,我都不知道该说啥了...
Google规定的见下表:
一英寸有多少个点儿?
我们用来density来分辨
2.DIP(也就是我们用的dip/dp):device independent pixel,设备独立像素,我们不会直接使用px,而是使用dp,1 px = 1dp * density(由DPI)决定。
这里完全没有涉及到分辨率的问题...我觉得dpi和分辨率之间压根没有关系...
和基友讨论了好一会,终于明白了以下这两个问题:
1.为什么一个720P的设备,取mdpi里的图片,但是720P的切图要放在xhdpi里?
A: 这完全是根据主流手机来决定的,比如现在主流的是480P/hdpi的手机,那么,在做UI时,就会取720P作为xhdpi,取320P作为mdpi,取240P作为ldpi,这样一套套图就切出来了。
如果,主流的手机分辨率变成了720P/hdpi的手机,那么,在做UI时,就会取480P作为mdpi,取1080P作为xhdpi,以此类推。
至于Google是这样推荐的:取你手边最大的分辨率作为基准,做出最清晰的图(xhdpi),然后,按比例缩放,做出hdpi、mdpi和ldpi。所以从原理上,720P的切图放在哪里是可以根据设备来变换的。
2.如果720P的切图在xhdpi里,但我手头有一个mdpi/720P的设备,那怎么办呢?
(假设你的应用要支持所有奇葩的分辨率,而且你已经切好了4套图(ldpi~xhdpi)& 并在layout里写了一套布局)
A: 如果你自己思考了dpi和分辨率的关系的话,你会发现,他们的关系就是没有关系...所以这个问题,我的解决办法(大家的)是,让多套dimens来帮我们解决这个问题。
values-sw480dp-mdpi
values-sw600dp-mdpi
values-sw720dp-mdpi
values-sw1080dp-mdpi
values-sw480dp-hdpi
values-sw480dp-xhdpi
在你的res文件夹下,新建这些文件夹,然后再放进一个dimens.xml,用这种方法,就可以应对所有的分辨率情况了。
举例说明下:如果原图()上有一个100x50(像素)大小的控件,那么对于一个正常的hdpi/800x480的设备来说,应该设置它的大小(dp)为:
长:(100/720*480/1.5)dp = 45dp (向上取整)
宽:(50/720*480/1.5)dp = 23dp
将这两个值写在values-sw480dp-hdpi/dimens.xml里,图的比例和原图就一样了。
那对于一个刚才我列举到的mdpi/的设备,它的大小应该是:
长:(100/720*720/1) = 100
宽:(50/720*720/1) = 50
将这两个值写在values-sw720dp-mdpi中,图的比例和原图就一样了。
3.不是我要黑IOS,如果IOS再出几个分辨率的话,那IOS开发者是不是都要抓狂了呢?
A: 就现在而言,我很高兴地回答你:是的! IOS布局的方式相当于Android中的绝对布局,而且它没有wrap_content和match_parent这些方式,等到IOS 10长到及腰时,我看你等做IOS开发的肿么办,哈哈。
综上,希望此帖可以帮到一些对Android布局有疑惑的同学~
发表评论:
TA的推荐TA的最新馆藏[转]&关于图片分辨率改变的诡异问题
帖子21&缘分币8 Y&阅读权限10&注册时间&
17:34 
关于图片分辨率改变的诡异问题
这个问题我也不知道发哪,是图片分辨率经过图像处理软件处理后自动改变的问题。。本人淘宝上产品要把图片处理下加水印,使用了最新版的Isee图片处理软件,原图大小为700px*700px&&96dpi
使用isee加水印自动处理后居然变成了700px*700px 1dpi
测试了多个图片,有的图片分辨率不会自动改变,有的经过该软件处理后会改变分辨率,实在纳闷,附上图片,请懂行朋友帮解释下问题所在,如何让处理后分辨率不改变。。。
PS:这个软件本人用过多次,基本还好用,改变图片大小也一般不是修改dpi,为什么这么奇怪呢。。
[ 本帖最后由 紫馨恋 于
12:50 编辑 ]
(68.57 KB)
(64.92 KB)
Isee处理后图
(515.08 KB)
17:48, 下载次数: 110
帖子1040&缘分币5918 Y&阅读权限100&注册时间&
这个软件没用过额。。。只要像素尺寸没有变,图片的质量和网页上显示的尺寸也就不会变,当然像素尺寸未变的情况下,图片的分辨率变低,图片的长宽就会变大
偶不是杀手
帖子790&缘分币9612 Y&阅读权限100&注册时间&
木有用过这货,估计是软件某个设置造成。
UID1153835&精华&积分2670&威望141 F&回复币681 B&警告0 次&贡献0 &金币61 个&学分17 点&性别男&来自火星&最后登录&
如今苦逼的我成为了一名抄袭设计 ...
帖子3131&缘分币18731 Y&阅读权限120&注册时间&
1dpi?我怎么看好像没什么变化呢
当前时区 GMT+8, 现在时间是

我要回帖

更多关于 1dpi 的文章

 

随机推荐