gpt4 book ai didi

java - 将图像存储到数组

转载 作者:行者123 更新时间:2023-11-30 02:28:56 25 4
gpt4 key购买 nike

在将图像添加到JLabel之前,我使用下面的代码来调整它们的大小。

BufferedImage myPicture1 = ImageIO.read(new
File("C:\\Users\\yumi\\Desktop\\Salad.png"));
Image scaled1 = myPicture1.getScaledInstance(80,95,Image.SCALE_SMOOTH);
JLabel picLabel1 = new JLabel("Japanese Noodles",new
ImageIcon(scaled1),JLabel.CENTER);
panel.add(picLabel1);

现在我有数组,想将图像存储到数组

static private JLabel[] foodLabel;
static private JTextField[] qtyField;
static private ImageIcon[] imageIcon;
static private Image[] imageScaled;
static private BufferedImage[] image;
static private File[] file;
private static final int ELEMENTS = 9;

尝试读取文件并缩放

file[0] = new File("C:\\Users\\yumi\\Desktop\\Salad.png");
.....

for (int i = 0; i < ELEMENTS; i++) {
image[i] = ImageIO.read(file[i]);
imageScaled[i] = image[i].getScaledInstance(80,95,Image.SCALE_SMOOTH);
foodLabel[i] = new JLabel(imageIcon([imageScaled[i]])); // error
}

错误

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem: Syntax error on token "(", Expression expected after this token

最佳答案

以下内容应该有效。您必须首先为缩放后的图像创建一个 ImageIcon

for (int i = 0; i < ELEMENTS; i++) {
image[i] = ImageIO.read(file[i]);
imageScaled[i] = image[i].getScaledInstance(80,95,Image.SCALE_SMOOTH);
imageIcon[i] = new ImageIcon(imageScaled[i]);
foodLabel[i] = new JLabel(imageIcon[i]);
}

请注意,似乎没有理由将所有这些值保留在数组中。除非您有更多引用这些数组的代码,否则以下内容会更清晰一些:

for (int i = 0; i < ELEMENTS; i++) {
Image image = ImageIO.read(file[i]);
Image imageScaled = image.getScaledInstance(80,95,Image.SCALE_SMOOTH);
ImageIcon imageIcon = new ImageIcon(imageScaled);
foodLabel[i] = new JLabel(imageIcon);
}

关于java - 将图像存储到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44747261/

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