【问题标题】:How to resize the bitmap image according to mdpi,hdpi and screen size of the mobile如何根据手机的mdpi、hdpi和屏幕大小调整位图图像的大小
【发布时间】:2013-08-06 14:24:42
【问题描述】:

我使用的是 85x85 像素的图片(将此图片放入 drawable-mdpi)

如果我在 [320x480]mdpi 屏幕尺寸设备上显示此 85x85 像素的图像,它看起来不错, 但是在 [480x800]mdpi 设备上显示此图像时,它看起来非常小。

我想知道如何调整此 (85x85 像素) 的图像大小,使其适用于屏幕宽度和高度为 480x800、mdpi 的设备。

【问题讨论】:

  • 如果您将这些图像用作可绘制资源,并通过指定屏幕宽度和高度的百分比来确定它们的视图大小,您可以将此图像放在hdpi 文件夹中并框架会自动为你缩小它(这当然取决于你使用的 Android 版本和你选择的实现)。

标签: android


【解决方案1】:

您必须在 dp.xml 中设置图像大小。 This 这个帖子真的很有帮助。

【讨论】:

  • 其实我是在canvas上使用这些图片的,那么如何在xml中设置图片大小,因为在使用canvas时没有使用xml文件。
【解决方案2】:

考虑 MDPI 图像(比如说 85x85)作为基线 创建图像如下

文件夹 ImageSize 百分比

LDPI 64x64 基线的 75%

MDPI 85x85 100% 基线

HDPI 127x127 150% 的基线

XHDPI 170x170 200% 的基线

【讨论】:

  • 我正在做你所说的同样的事情,为 LDPI 创建一个 64x64 的图像,为 MDPI 创建一个 85x85 的图像,为 HDPI 创建一个 127x127 的图像,实际上我在画布上使用这些图像并且看起来都不错,但是虽然使用 (5.1" WVGA, Screen 5.1", 480x800 large mdpi) 在模拟器上运行我的项目,气泡图像与设备尺寸相比看起来非常小。
【解决方案3】:

对此更好的解决方案是生成LDPI,MDPI,HDPI,XHDPI,XXHDPI 大小的图像并将其放在相应的文件夹中。

【讨论】:

  • 我正在做你所说的同样的事情,为 LDPI 创建一个 64x64 的图像,为 MDPI 创建一个 85x85 的图像,为 HDPI 创建一个 127x127 的图像,实际上我在画布上使用这些图像并且看起来都不错,但是虽然使用 (5.1" WVGA, Screen 5.1", 480x800 large mdpi) 在模拟器上运行我的项目,气泡图像与设备尺寸相比看起来非常小。
  • 重新调整图片大小试试看
【解决方案4】:

将图片放入/drawable,并在你的XML中定义图片的大小为85dp,然后它将被缩放为LDPI/HDPI/XHDPI/XXHDPI,上帝禁止XXXHDPI。

但是,更好的解决方案是生成 HDPI(128px)/XHDPI(170px)/XXHDPI(255px) 版本的图形,并将它们分别放在 /drawable-hdpi、/drawable-xhdpi、/drawable-xxhdpi 中。这样您就可以为您的用户提供最佳体验。


[编辑]

"dp" 是 Android 定义 UI 对象的 物理 尺寸的方式,因此即使在屏幕尺寸上运行时,48x48dp 的按钮也将具有大致相同的物理尺寸介于 240x320 到 1080x1920 之间,有关更多信息,请查看 Android 开发者网站的Supporting Multiple Screens

[编辑 2]

对于画布上的图像,您可以使用它来计算图像的缩放大小:

DisplayMetrics dm = new DisplayMetrics();
context.getWindowManager().getDefaultDisplay().getMetrics(dm);
int newSize = (int)(85 * (dm.densityDpi / 160f));

【讨论】:

  • {85*dp*} 是什么意思?没有意义
  • @dineshsharma 添加了对我的回答的回复
  • 我担心的是 * in 85*dp* 这是误导性的事情,我知道什么是 DP 和 SP。现在你已经解决了 85dp 问题:)
  • 是的,我使用的是 bold 标记,但由于某种原因,它显示为原来的样子,所以我完全删除了标记,抱歉造成混淆:-/跨度>
  • 实际上我在画布上使用图像,并且我的项目中没有xml文件可以在dp或sp中定义图像的大小。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 2020-05-13
相关资源
最近更新 更多