I have been fooling around with LibGDX for a while now, and wanted to easily port my programs to different systems. I have a background texture, which I want to scale to the currently used resolution. The image is 1920x1080, how do I change it to the currently used resolution at runtime?
(Java LibGDX) How do I resize my textures in LibGDX?
There are lots of ways to answer this question that depend on how you're going to render the texture. Can you provide more, specific details on what you're doing? –
Swaddle
If you want to scale at drawing time use:
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();
From:
https://www.snip2code.com/Snippet/774713/LibGDX-Resize-texture-on-load
batch.begin();
batch.draw(yourtexture, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
batch.end();
Using the camera viewport also works:
batch.begin();
batch.draw(yourtexture, 0, 0, cam.viewportWidth, cam.viewportHeight);
batch.end();
That is not really scalling, is just shrinking the texture when is drawn, poor devices would have problems with this.. –
Gittle
Boldijar Paul, can you suggest a better approach? –
Ikey
@Boldijar Paul, can you suggest a better approach? –
Ikey
© 2022 - 2024 — McMap. All rights reserved.