gpt4 book ai didi

java - 在运行时调整 ImageIcon(或图像)的大小

转载 作者:行者123 更新时间:2023-12-02 06:40:40 25 4
gpt4 key购买 nike

我试图在运行时使用线程定期增加 imageIcon 的高度和宽度。

我尝试过但没有成功

Image img = image.getImage();
BufferedImage bi = new BufferedImage(
img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
g.drawImage(img, 0, 0, 100, 100, null);
ImageIcon image = new ImageIcon(bi);

有人可以帮助我吗?谢谢

import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class ui {
public static void main(String[] args) {
JFrame frame = new JFrame();
//set imageicon
final ImageIcon image = new ImageIcon(
"C:\\Users\\User\\workspace\\Project\\images\\c.png");
JLabel imagelabel = new JLabel(image, JLabel.CENTER);
frame.add(imagelabel);

ScheduledExecutorService exec = Executors
.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
// ---->How to increase height and width dynamically at runtime?
}
}, 0, 500, TimeUnit.MILLISECONDS);
}
}

最佳答案

由于您已经加载了图像,因此只需在 paintComponent() 的实现中使用 draw() 即可。覆盖get\[Preferred|Maximum|Minimum\]Size()定义初始大小并选择合适的布局来控制调整大小行为。使用AffineTransformOp控制插值类型,如图here 。另请考虑 getScaledInstance(),已检查 herehere .

关于java - 在运行时调整 ImageIcon(或图像)的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166732/

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