You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Libgdx:如何缩放Table内128x128的Image至100x100及单元格适配疑问

嘿,很高兴能帮到你!针对你的两个问题,我来一步步给你讲清楚:

1. 如何将Image缩放到100x100尺寸?

最直接的方式就是调用Image的setSize(float width, float height)方法,强制指定它的显示尺寸,完全不受原始TextureRegion的128x128大小影响。代码示例如下:

// 假设你已经获取到了128x128的TextureRegion
TextureRegion textureRegion = new TextureRegion(yourTexture);
Image image = new Image(textureRegion);

// 直接设置为目标尺寸100x100
image.setSize(100, 100);

如果你后续需要保持缩放比例(比如不想拉伸变形)但限制在100x100范围内,可以改用setScaling(Scaling.fit),再给Image设置最大宽高,但如果是明确要固定100x100的话,上面的setSize是最简单有效的方案。

2. Table的单元格是否会自动适配Image的尺寸?

默认情况下,Table的单元格会自动适配子组件的首选大小,这里分两种情况:

  • 如果你没有手动设置Image的大小,单元格会自动匹配TextureRegion的原始尺寸(也就是128x128);
  • 当你给Image设置了100x100的固定大小后,单元格会自动适配这个新尺寸,除非你给单元格额外设置了强制宽高(比如table.add(image).width(150).height(150)),这种情况下单元格会变成你指定的大小,而Image会默认居中显示,不会被拉伸(除非你加了fill()或expand()这类填充规则)。

举个实际使用的例子:

Table table = new Table();
// 添加已经设置好100x100的Image
table.add(image);
// 此时单元格的尺寸就是100x100,和Image完全匹配

如果想给单元格加一些内边距,只需要在添加时调用pad()方法即可,比如table.add(image).pad(5),这时候单元格会变成110x110,Image还是保持100x100居中。

内容的提问来源于stack exchange,提问作者Alexey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:04:40