(Java LibGDX)如何在LibGDX中调整纹理大小?

use*_*723 8 java android textures image libgdx

我一直在使用LibGDX一段时间,并希望轻松将我的程序移植到不同的系统.我有一个背景纹理,我想缩放到当前使用的分辨率.图像是1920x1080,如何在运行时将其更改为当前使用的分辨率?

Les*_*tat 8

    batch.begin();
    batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    batch.end();
Run Code Online (Sandbox Code Playgroud)

使用相机视口也有效:

    batch.begin();
    batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight);
    batch.end();
Run Code Online (Sandbox Code Playgroud)

  • 这不是真正的scalling,只是在绘制时缩小纹理,糟糕的设备会有这个问题.. (8认同)

rub*_*bmz 8

如果要在绘图时缩放,请使用:

Pixmap pixmap200 = new Pixmap(Gdx.files.internal("200x200.png"));
Pixmap pixmap100 = new Pixmap(100, 100, pixmap200.getFormat());
pixmap100.drawPixmap(pixmap200,
        0, 0, pixmap200.getWidth(), pixmap200.getHeight(),
        0, 0, pixmap100.getWidth(), pixmap100.getHeight()
);
Texture texture = new Texture(pixmap100);
pixmap200.dispose();
pixmap100.dispose();
Run Code Online (Sandbox Code Playgroud)

从:

https://www.snip2code.com/Snippet/774713/LibGDX-Resize-texture-on-load