我正在学习如何制作动态壁纸,但我有一个进退两难的问题,我敢肯定所有刚开始的人都会遇到。
有这么多分辨率的屏幕尺寸,我怎样才能让一组艺术品在所有版本的代码中重新缩放?我知道它已经完成了,因为我看到了很多 apk 中的图像并且它们被重新缩放。
如果它只是一张不需要任何定位的图像,那会很容易,但我的问题是我必须重新调整背景图像以适合所有设备,我还有适合该背景上某个 x 和 y 位置的动画图像适合到位,因此看起来整个背景都在动画,但只有部分是动画(我远离 300 帧逐帧动态壁纸图像的方式)。
所以背景图像需要重新缩放,动画也需要重新缩放到背景图像的确切百分比,并且它们需要位于特定的 x 和 y 位置。
任何帮助将不胜感激,所以我可以做到这一点。
我厌倦了一些东西,想我会为所有东西做一个缩放器,例如:int scaler; 然后在 onSurfaceChanged scaler = width /1024; //如果更大的图像是 1024。这将给我一个可以在任何地方使用的比率。然后使用 scaleBitmap 通过将缩放器乘以图像的高度和宽度进行相应缩放,并使用相同的缩放器来定位示例图像 x 假设为 50,使用相同的东西缩放它 x = scaler * 50; 应该注意缩放和定位,下一课是如何将所有这些转换成java,因为我是java新手,我曾经为flash和php编程,但这有很大不同,需要一些时间来适应. 接下来是如何平移宽度,当您从一侧移动到另一侧屏幕时,如何使图像显示是我想出的下一个难题。现在它只是显示相同的宽度,即使宽度是表面显示的两倍。如果您得到答案或在某个地方我可以找到有关此问题的信息,将不胜感激。