繁体   English   中英

位图缩放以适​​合不同的屏幕尺寸/密度

[英]Bitmap scaling to fit different screen size/density

我不太了解像素密度和设备无关像素的所有知识,我想知道是否应该为此担心。

更具体地说,这是我的应用程序现在的工作方式:

  • 对于“布局屏幕”,我使用的是RelativeLayout或LinearLayout,但我从未使用过像素或dp,所以我想这在每台设备上看起来都不错
  • 对于游戏主屏幕,屏幕上只有一个SurfaceView。 使用onSurfaceCreated()给定的值(像素或dp?我不知道),我计算游戏中每个元素的大小和位置,然后加载Bitmap.createScaledBitmap() (先使用BitmapFactory.decodeResource() ,然后再使用Bitmap.createScaledBitmap() ),然后使用drawBitmap()将它们放在屏幕上

我在手机(480×800 hdpi)和模拟器(240×320 mdpi)上进行了测试,两者看起来都不错。

我的问题是:

  • 这是正确的做法吗? 我不明白如何(为什么)可以使用某些设备为hdpi,而其他设备为mdpi的事实。
  • 我应该为不同的屏幕密度提供不同的位图吗?为什么? (现在我在res/drawable-hdpi拥有所有内容)
  • .png应该有多大? 我可以将它们创建为比其预期大小大得多(2×),以确保它不会看起来模糊或混叠吗?

我对此的了解有限,因为我从未开发过游戏。

这是正确的做法吗? 我不明白如何(为什么)可以使用某些设备为hdpi,而其他设备为mdpi的事实。

使用此信息,您可以自动加载不同的图像。 您可以找到目录:

drawable-hdpi drawables-mdpi ...

我应该为不同的屏幕密度提供不同的位图吗?为什么? (现在我已经将所有内容保存在res / drawable-hdpi中)

如果您全都使用hdpi,则我认为图像会缩小,由于缺少特定比例的图像,因此图像会缩小。 提供图像可以使您更好地控制最终产品,并减少处理时间。

.png应该有多大? 我可以将它们创建为比其预期大小大得多(2×),以确保它不会看起来模糊或混叠吗?

我认为它们可以恰好是所需的大小。 但是正如我上面说的..没有太多的经验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM