将图像缩放到从手机拍摄的不同的可绘制文件夹,以用作标题图像

Android Studio 1.3 

你好,

我从Nexus 5手机拍了一些照片。 我想用一个作为加载到imageview的标题。

但是,我不确定缩放比例以及哪个drawable-xhdi,drawable-xxhdi等等。

我目前的照片是:

 Width: 3200 pixels Height: 2368 pixels Size: 2.4 MB file type: jpg 

我有瘸子照片编辑工具,我可以压缩成一个PNG文件,以减less大小。 但我不知道如何在其他屏幕密度上使图片看起来不错。 哪个可绘制的文件夹,我必须把每一个?

非常感谢您的任何build议,

Related of "将图像缩放到从手机拍摄的不同的可绘制文件夹,以用作标题图像"

首先,你应该知道图像大小有限制 :

OpenGl的最大尺寸是2048×2048,否则会抛出一个错误:位图太大,无法上传到纹理中。

第二,你必须考虑,你的目标是什么设备。 在android中有不同的限定符 :

屏幕尺寸 :实际的物理尺寸,按照屏幕的对angular线测量。 为了简单起见,Android将所有实际的屏幕尺寸分为四种广义尺寸:小尺寸,普通尺寸,大尺寸和超大尺寸。

屏幕密度屏幕物理区域内的像素数量; 通常称为dpi(每英寸点数)。 例如,与“正常”或“高”密度屏幕相比,“低”密度屏幕在给定的物理区域内具有更less的像素。 为了简单起见,Android将所有实际的屏幕密度分为六个广义密度:低,中,高,超高,超高和超高。

  • 正常的大小 – 手机
  • 尺寸 – 7'片(如sw600 – 最小宽度600dp)
  • x大小 – 10'片剂(例如sw720 – 最小宽度720dp)

第三次看Android的仪表板 。

仪表板03.09.2015

快速查看显示,这是几个ldpi几乎没有xxxhdpi设备。 这是什么意思? 您不需要为这些文件夹提供资源。 但是,只要你喜欢。

注意:您不需要为所有应用程序的图像提供xxxhdpi资源。

第四看你的应用程序,并找出最大尺寸:

所以如果你的图像是一个标题,我认为它会match_parent – >比方说,你正在devise你的应用程序工作在1920×1080(h * w)和更低的屏幕分辨率。 现在你看到第一个重要的步骤。 如果您的图像match_parent和父母是最大的1080px宽,你不需要3200像素宽的图像!

5使用9-Patch-Resizer或Android Asset Studio等工具调整图像大小,并将其添加到可绘制文件夹中

6在设备上testing并检查图像质量是否足够好。 在平板电脑上,您可能会考虑使用drawable-large和drawable-xlarge文件夹。

  • 320dp:一个典型的手机屏幕(240×320 ldpi,320×480 mdpi,480×800 hdpi等)。
  • 480dp:像Streak(480×800 mdpi)这样的微型平板电脑。
  • 600dp:7寸平板电脑(600×1024 mdpi)。
  • 720dp:10“平板电脑(720×1280 mdpi,800×1280 mdpi等)。

首先,您应该决定在dp尺寸中您想要的图片尺寸有多大。因为dp是与设备无关的尺寸。

例如,如果你想要你的图像是200 * 100 DP。 那么你放在不同的可绘制文件夹中的图片应该是以下大小:

 drawable-ldpi 150 * 75 px drawable-mdpi 200 * 100 px drawable-hdpi 300 * 150 px drawable-xhdpi 400 * 200 px drawable-xxhpi 600 * 300 px 3 : 4 : 6 : 8 : 12 mdpi means 1 dp = 1px 

看看这里的文档: http : //developer.android.com/guide/practices/screens_support.html#range

引用:

一组六个广义密度:

  • ldpi(低)〜120dpi
  • mdpi(中)〜160dpi
  • hdpi(高)〜240dpi
  • xhdpi(超高)〜320dpi
  • xxhdpi(超高)〜480dpi
  • xxxhdpi(extra-extra-extra-high)〜640dpi

如果是nexus5,则分辨率为1080 x 1920像素(〜445 ppi像素密度)

按照每个android开发者控制台的一套广义密度

 xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi 

所以nexus 5将采取drawable-xxhdpi的图像