LibGDX - scaled image with a fixed ratio
My LibGDX game has a start screen with a logo and a few buttons. I can't figure out how to scale the fixed ratio logo so as not to distort it.
What's the code:
public StartScreen(int lastScore, InputListener inputListener) {
super();
this.listener = inputListener;
stage = new Stage();
Gdx.input.setInputProcessor(stage);
Table table = new Table();
table.setFillParent(true);
table.setBackground(new TextureRegionDrawable(new TextureRegion(new Texture(Gdx.files.internal("background.png")))));
Image imageLogo = new Image();
imageLogo.setDrawable(new TextureRegionDrawable(new TextureRegion(new Texture(Gdx.files.internal("title.png")))));
// Here the problem, the image is not scaled correctly...
table.add(imageLogo).center().colspan(2);
table.row();
// Some Buttons
table.add(button1).colspan(2).padBottom(30);
table.row();
table.add(button2).padBottom(30);
table.add(button3).padBottom(30);
table.row();
table.add(button4).colspan(2);
stage.addActor(table);
//table.debug();
}
+3
noongiya95
source
to share
2 answers
I found out that you can use this with images - works great!
imageLogo.setScaling(Scaling.fit);
+6
noongiya95
source
to share
You can scale the image like this:
Image imageLogo = new Image();
imageLogo.setDrawable(new TextureRegionDrawable(
new TextureRegion(new Texture(Gdx.files.internal("title.png")))));
// 0.9f scales to 90% of the original height and width
final float heightScaleFactor = 0.9f;
final float widthScaleFactor = 0.9f;
imageLogo.setHeight(imageLogo.getHeight() * heightScaleFactor);
imageLogo.setWidth(imageLogo.getWidth() * widthScaleFactor);
-1
Gio
source
to share