我正在尝试将 java 程序中的标签设置为图像。但是,它似乎不适用于 .bmp 图像
我正在寻找一个转换器,它允许我将图像从 .bmp 转换为具有相同文件名的 .jpg。这个转换器需要由java程序控制,其中有需要转换的图像的名称和位置。
任何帮助都将不胜感激,因为我已经为此花费了数小时:P
谢谢
*编辑:该程序需要能够与该程序一起打包,以便它可以在多台计算机上运行(即不能是我安装到我的计算机上的东西)。我希望找到一个 .exe 接收图像文件名作为参数并将其转换为 .jpg
我正在尝试将 java 程序中的标签设置为图像。但是,它似乎不适用于 .bmp 图像
我正在寻找一个转换器,它允许我将图像从 .bmp 转换为具有相同文件名的 .jpg。这个转换器需要由java程序控制,其中有需要转换的图像的名称和位置。
任何帮助都将不胜感激,因为我已经为此花费了数小时:P
谢谢
*编辑:该程序需要能够与该程序一起打包,以便它可以在多台计算机上运行(即不能是我安装到我的计算机上的东西)。我希望找到一个 .exe 接收图像文件名作为参数并将其转换为 .jpg
像这样使用ImageIO#read
(java 1.4 及更高版本):
ImageIcon icon = new ImageIcon(ImageIO.read(filename));
JLabel label = new JLabel(icon);
对于 Java 1.4 以下的任何内容,请使用image4j
更新:
这是我做的一个例子:
import java.awt.Dimension;
import java.awt.Image;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class JLabelBmpTest {
public JLabelBmpTest() throws MalformedURLException, IOException {
initComponents();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
new JLabelBmpTest();
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
}
private void initComponents() throws MalformedURLException, IOException {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image background = ImageIO.read(new URL("http://www.3drealms.com/zerohour/images/zhbackground.bmp"));
final ImageIcon ii = new ImageIcon(background);
frame.add(new JLabel(ii) {
@Override
public Dimension getPreferredSize() {
return new Dimension(ii.getIconWidth(), ii.getIconHeight());
}
});
frame.setResizable(false);
frame.pack();
frame.setVisible(true);
}
}
参考: