【发布时间】:2011-08-03 16:42:22
【问题描述】:
我已经开始使用 Adobe Photoshop 为我的 Android 应用程序制作图形。但我无法继续,因为 Photoshop 中的分辨率以每英寸像素为单位设置,而谷歌官方文档称 Android 需要以 dpi 设置图像。我在网上搜索了两者之间的转换,但从未找到任何合适的公式。
我知道 Android 文档将这种关系描述为 px = dp*dpi/160。但我的问题是,如果我知道 dpi,我在哪里可以获得 dp 的值以用于此计算?还是对 dp 的值有任何假设?我很困惑。
【问题讨论】:
-
photoshop中设置的ppi只影响大图在纸上的打印效果,对android中的图像显示没有影响...
-
嗨@StevenByle,虽然这在一般情况下是正确的,但在Android 和Android 的手机上下文中不能表示相同的意思,可以吗?打印定义对于您可以在 Internet 上找到的所有搜索结果(例如“HTC Sensation 屏幕分辨率”显示的是 PPI 而不是 DPI?我在媒体行业的经验表明,人们实际上也将 dpi 用于印刷设计和 Photoshop 演讲。许多人同时使用 ppi 和 dpi
-
@fuzzybee 虽然 ppi 和 dpi 并不等效(因为某些屏幕技术使用多个像素来生成一个点等),但 Android 可以使用其中任何一个。但是,Android 不会将此元数据用于图像。例如,以 100dpi 创建 100x100 图像,然后在 Photoshop 中以 1000dpi 创建。虽然它们在屏幕上的外观没有区别(始终为 100x100),但如果您打印它们,它们的物理尺寸将不同。 Android 根据您放入的可绘制密度文件夹(不是 Photoshop 中的设置)、drawable-hdpi = 240dpi、drawable-xhdpi = 320dpi 等了解图像的 dpi。
-
@fuzzybee 因此,当您查看屏幕规格时,您可能会在 ppi 中看到它们,这很好,因为大多数屏幕技术转换为 1 像素 = 1 点。 Android 在软件中绘制屏幕时使用 dpi 引用点,因为 1 个像素可能不是所有显示器上的 1 个点,这是一种标准化单位的方式。查看我在Understanding Density Independence in Android 上的博客了解更多信息。