gpt4 book ai didi

android - Canvas 位图绘制和屏幕密度

转载 作者:行者123 更新时间:2023-11-29 22:18:15 25 4
gpt4 key购买 nike

我正在开发一款基于 SurfaceView 类的安卓游戏。目前我一直在尝试针对不同的屏幕尺寸优化 View 。

问题 1:我的 res 文件夹中有 PNG 文件,我使用 Canvas.drawBitmap 绘制它们。阅读这篇文章 (http://developer.android.com/guide/practices/screens_support.html) 后,我认为如果屏幕更大,android 会调整位图的大小。不幸的是,我发现在平板电脑上启动我的应用程序与在手机上启动它时没有缩放(或任何更改)。那么它是如何完成的呢?我是否应该想出一些奇特的策略来计算可用空间并使用源矩形和目标矩形绘制位图?如果有人有最佳实践或一些提示如何在 Canvas 上绘制位图,那就太好了。我已经阅读了 pixel<->dip conversion 主题,但我不得不说我不知道​​如何在我的应用程序中使用该“解决方案”。所以任何帮助表示赞赏...

问题 2:我的 res 文件夹中有 3 个 PNG。一个 ldpi,一个 mdpi 和一个 hdpi。 Ldpi图像有50px*50px,mdpi有75px*75px,hdpi有100px*100px。当我在模拟器 (800*480) 中加载应用程序时,它使用 100*100 png。当我在 Acer Iconia Tab 上加载应用程序时,它使用 75*75 图像。我认为 hdpi 用于大屏幕 (=tab),mdpi 或 ldpi 用于模拟器屏幕。至少我认为 android 也会在选项卡上使用 hdpi-image 但我很惊讶......对此的任何解释都非常感谢

抱歉 4 长文本,只是想清楚...

赛亚埃夫迪

最佳答案

要计算绘图的大小,您可以使用 Canvas.getDensity()

屏幕的 DPI 值取决于像素数量和屏幕尺寸。平板电脑确实具有高分辨率,但大多数也相当大。这导致较低的 DPI 值。有关更多信息,请查看 http://developer.android.com/guide/practices/screens_support.html

关于android - Canvas 位图绘制和屏幕密度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7983167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com