gpt4 book ai didi

java动态调整图像大小以适应gridlayout中的网格

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

我想使用 JButton 的自定义子类制作国际象棋棋盘。我的问题是我的棋子图像有点太小了。有没有办法让图像精确缩放到我的网格布局中每个网格的大小?如果我调整 Jframe 的大小,网格也会改变大小。有没有办法让图像在调整整个框架的大小时动态调整大小?

最佳答案

你有3个选择

1) 使用 Gimp、Photoshop 等自行调整图像大小

2) 动态创建图标

Image i = icon.getImage();
if(i != null){
int width = (int)(size * fraction);
int height =(int)(size*icon.getIconHeight()/icon.getIconWidth()*fraction);
miniature = new ImageIcon(i.getScaledInstance(width, height, Image.SCALE_SMOOTH));
}

3) 在框架的油漆上你可以使用比例

private void scaledDrawing(Graphics g, float scale){
Graphics2D g2 = (Graphics2D) g;
AffineTransform at = new AffineTransform();
AffineTransform save = g2.getTransform();
at.setToIdentity();
at.scale(goa.getScale().x, goa.getScale().y);
g2.transform(at);
image.paintIcon(c, g2);
g2.setTransform(save);
}

关于java动态调整图像大小以适应gridlayout中的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6444042/

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