谁能建议我如何将.TIF格式的图像存储到ImageIcon
该图像并将其添加到列表模型?我试过了,但是给了我java.lang.NullPointerException
。
public static void main(String[] args) throws Exception {
String path = "C:\\project\\aimages";
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
DefaultListModel listModel = new DefaultListModel();
System.out.println("listOfFiles.length="+listOfFiles.length);
int count = 0;
for (int i = 0; i < listOfFiles.length; i++) {
//System.out.println("check path"+listOfFiles[i]);
String name = listOfFiles[i].toString();
System.out.println("name"+name);
// load only JPEGs
if (name.endsWith("jpg") || name.endsWith("JPG")|| name.endsWith("tif") || name.endsWith("TIF")) {
if(name.endsWith("tif") || name.endsWith("TIF"))
{
BufferedImage image = ImageIO.read(listOfFiles[i]);
BufferedImage convertedImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
ImageIcon ii = new ImageIcon(image);
Image img1 = ii.getImage();
Image newimg = img1.getScaledInstance(75, 75, java.awt.Image.SCALE_SMOOTH);
ImageIcon newIcon = new ImageIcon(img1);
listModel.add(count++, newIcon);
}
else
{
ImageIcon ii = new ImageIcon(ImageIO.read(listOfFiles[i]));
Image img1 = ii.getImage();
Image newimg = img1.getScaledInstance(75, 75, java.awt.Image.SCALE_SMOOTH);
ImageIcon newIcon = new ImageIcon(newimg);
listModel.add(count++, newIcon);
}
}
}
JList p2 = new JList(listModel);
}
}
在这里,我编辑了代码,这是我的错误msg
异常,位于ListImage1.main(ListImage1.java:48)的javax.swing.ImageIcon。(ImageIcon.java:228)的线程“
main”中java.lang.NullPointerException
如果TIFF是应用程序资源,则最好将其转换为JPG或PNG。
OTOH,我相信JAI为阅读TIFF提供了支持。
问题内容: 我的问题是,如何才能将.tif文件成功加载到Java中的Image实例中? 现在让我提供更多细节。我已经阅读了很多关于stackoverflow的关于如何在Java中处理/转换TIF图像的线程。我已经尝试了很多stackoverflow建议(我说建议,因为询问的人很少回来再说对他们有用的东西)。我很确定我需要使用Java Advanced Imaging(JAI)库,但是我不知道如何使
问题内容: 我有一个想要导出高分辨率(或更确切地说是高像素密度?)图像以进行打印的应用程序-例如,我希望以每英寸250点(DPI)的速度打印图像,而不是默认值,据我了解是72 DPI。 我正在使用带有Graphics2D对象的BufferedImage绘制图像,然后使用ImageIO.write()保存图像。 知道如何设置DPI吗? 问题答案: Kurt的答案说明了这一点,但我仍然花了一些时间才能
问题内容: 如何将图像的白色背景转换为透明背景?谁能给我打电话怎么做? 问题答案: Google的第一个结果是: 使颜色透明 http://www.rgagnon.com/javadetails/java-0265.html 它使图像的蓝色部分透明,但是我敢肯定您可以对其进行调整以使用白色 (提示:传递给函数,而不是)
问题内容: 我已经使用Java Swing创建了一个GUI。我现在必须将一个sample.jpeg图像设置为放置组件的框架的背景,该怎么做? 问题答案: 实现此目的的一种方法是重写paintComponent每次JPanel刷新时绘制背景图像的方法。 例如,可以将子类化JPanel,并添加一个字段以保存背景图片,然后覆盖该paintComponent方法: (以上代码尚未经过测试。) 以下代码可用
null 那个代码有什么问题?我不明白为什么不能将ImageRi发送到ImageView。我还验证了我正在传递给setImageURI函数的Uri值是正确的。
我试图将图像作为JavaFX场景中的背景,但我的代码不起作用。 我试图在java eclipse中制作一个战舰游戏程序,但我遇到了一个图形问题。 当我第一次尝试运行它时,它工作了,一个新的窗口打开了,中间有一个按钮,但bakcground是空白的。当我尝试在窗口中设置一个图像作为背景时,按下“开始”按钮,什么也没有发生…