我知道在不同的DPI中使用图像是Android中一种相当常见的做法。但我并没有真正看到它的目的,为什么我们不能只使用超大图像,然后在程序中进行缩放?我知道如果我们在不同的DPI中没有图像,我们可能需要额外计算,但除此之外,还有其他原因吗?Android:使用具有不同像素密度的图像的目的?
1
A
回答
6
Tim and a.d.对你有正确的推理。如果您想查看重新调整大小或以正确大小绘制的内容之间的比较,请使用可视化示例。如果有非常小的细节,效果总是更加明显。
首先是一个大的200×200(我们把它叫做xhdpi),第二个是简单的重采样适用于mdpi(75x75)相同的图像。第三个是重新设计的相同规格,但从75x75开始。正如您所看到的,第二个文本显着模糊,并且在重新缩放后的形状边缘存在一些伪像。
2
您可以获得屏幕密度的优化图像。如果你把所有这些都留给xhdpi,你必须知道一些重要的像素可能在这个过程中消失了,因为你没有注意到这一点。
如果您不关心速度和准确性,并且您认为人们不会注意到丢失了重要像素,则可以使用此方法。
不仅如此,而且如果您自己缩放图像(例如使用加权),则根本不需要将它们放在dpi文件夹中 - 您可以将它们放在drawable-nodpi文件夹中。
1
通过为每个主要类别的屏幕密度提供已经呈现为适当尺寸的图像,您可以避免在代码中明确进行缩放,这将使代码变得更“干净”。
您还可以避免由于显示的每个图像都必须缩放而导致的性能下降,具体取决于您的应用程序需要做多少缩放才能显着提升性能而不执行这些操作随着视图正在向用户显示,“即时”。
最后,为每种尺寸提供适当的渲染图像将确保您的资源看起来更好。系统缩放并不完美,如果必须根据比例缩放图像的“清晰度”,将会导致图像“清晰”。如果它必须显着地扩展它们,这对用户来说是显而易见的。
相关问题
- 1. Android的图像,密度和
- 2. 使用javascript创建具有不同图像的细节元素
- 3. 使用srcset和大小指定像素密度的图像
- 4. 不知道如何使用不同密度的图像1.6 +
- 5. 具有双值像素的Java图像
- 6. 在android中以不同密度显示的图像
- 7. Android:如何创建不同大小和密度的图像?
- 8. mouseListeners和JLabels使用具有透明像素的图像
- 9. Bootstrap - 使列内的图像具有相同的高度?
- 10. 使用透明度生成具有不同大小图层的合成图像
- 11. 针对不同密度的不同9贴片图像?
- 12. Matlab的:比较2幅图像具有不同的尺寸和像素尺寸
- 13. 如何显示图像上不同像素的速度矢量?
- 14. WPF中具有不同高亮图像的多个ToggleButton图像
- 15. 图像库块与CSS具有不同的图像尺寸?
- 16. 具有相同密度屏幕的Android密度独立性
- 17. 图像叠加“的margin-top”不正确地使用不同的图像高度
- 18. React Native - 像素密度的图像大小?
- 19. 具有不同背景图像宽度的水平中心列表项目
- 20. Android:如何计算像素密度
- 21. 钛/ Appcelerator的针对Android:多密度的图像没有找到
- 22. 不同的图像具有不同的尺寸
- 23. 如何preg_match_all具有HTTP头宽度> 100像素和高度> 80像素的图像?
- 24. 复制图像的锚标记具有相同的图像SRC
- 25. Android如何使用Picasso加载具有不同扩展名的图像文件
- 26. 将覆盖图应用于具有不同透明度的图像
- 27. Android的按钮具有不同的图像文本的启用和压制
- 28. 更改图像像素的灰度级
- 29. ListView中的图像不遵循给定的宽度,并且在不同的行中具有不同的宽度
- 30. 100x100的图像具有随机的像素颜色