gpt4 book ai didi

android - 如何拉伸(stretch)以适合动态壁纸上的背景图像

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

我正在尝试设置我的动态壁纸的背景,以便完美适合屏幕。当前壁纸尺寸为 1024x1024,但只有部分图像出现在我的 HTC Desire 屏幕上(尺寸为 480 x 800)。此外,当我尝试设置小于 480x800 的图像时,图像不会拉伸(stretch)以适合整个屏幕。

有什么方法可以实现这一点,使壁纸至少在高度上完全适合,而不管屏幕尺寸如何?

这是我的代码供您引用-

private static final int CAMERA_WIDTH = 480;
private static final int CAMERA_HEIGHT = 720;


@Override
public EngineOptions onCreateEngineOptions() {
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new EngineOptions(true, ScreenOrientation.PORTRAIT_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
}


@Override
public void onCreateResources(OnCreateResourcesCallback pOnCreateResourcesCallback) throws Exception {
.
.
this.mBitmapBackgroundAtlas1 = new BitmapTextureAtlas(this.getTextureManager(), 1024, 1024);
this.mFaceBackgroundRegion1 = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapBackgroundAtlas1, this, "bg1.jpg", 0, 0);
this.mBitmapBackgroundAtlas1.load();
.
.
}

@Override
public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception {
this.mEngine.registerUpdateHandler(new FPSLogger());
.
.
mScene.setBackground(new SpriteBackground(new Sprite(0, 0, mFaceBackgroundRegion1, this.getVertexBufferObjectManager())));
.
.
}

最佳答案

好的...找到答案了。将其发布给那些也在寻找相同内容的人。

您可以覆盖方法 onSurfaceChanged,它以宽度和高度作为参数。这给出了您设备的屏幕宽度/高度。

您可以使用此值根据您的要求缩放图像。

@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
this.screenWidth=width;
this.screenHeight=height;
}

关于android - 如何拉伸(stretch)以适合动态壁纸上的背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10502644/

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