当前位置: 首页 > 面试题库 >

调整图像大小以适合JLabel

曾景龙
2023-03-14
问题内容

我正在尝试从目录加载图像并将其作为图标放置在中JLabel。但是,当图像尺寸很大时,就不能完全放入标签中。我尝试调整图像的大小以适合标签,但无法正常工作。我可以知道我要去哪里了吗?

JFileChooser choose=new JFileChooser();
choose.showOpenDialog(null);
File f=choose.getSelectedFile();
String filename=f.getAbsolutePath();
path.setText(filename);

ImageIcon icon=new ImageIcon(filename);
Image img=icon.getImage();
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null),   BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
g.drawImage(img,500, 500, null);
ImageIcon newIcon = new ImageIcon(bi);
image_label.setIcon(newIcon);

问题答案:

BufferedImage img = ImageIO.read(…);
Image scaled = img.getScaledInstance(500, 500, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaled);

当心,这将缩放图像,使其为正方形。看一看Java:维护JPanel背景图像的长宽比,讨论缩放后图像的长宽比。

此外,您还应该阅读Image.getScaledInstance()的风险,并查看将ImageIcon自动缩放为标签大小演示了这样做的问题一步一步的规模…



 类似资料:
  • 问题内容: 我正在尝试使图片适合JLabel。我希望将图片尺寸减小到更适合我的Swing JPanel。 我尝试使用setPreferredSize,但是它不起作用。 我想知道是否有一种简单的方法?我应该为此缩放图像吗? 问题答案: 大纲 这是要遵循的步骤。 将图片读取为BufferedImage。 将BufferedImage的大小调整为另一个JLabel大小的BufferedImage。 从调

  • 我正在尝试调整缩略图中的图像大小,以固定框的大小。我试过这个: 这是原始图像的外观:http://files.parsetfss.com/12917a88-ac80-4e5e-a009-fc634161b79c/tfss-6c59b59f-8f57-4610-966e-31bbc203707b-samsung-galaxy-note-4-7290-002.jpg 我也试过: 但是没有任何变化,没有

  • 如何让ImageView中的图像自动调整大小,使其始终适合父节点? 下面是一个小代码示例:

  • 我有一些问题与CSS为我的网页,显示社会媒体风格的帖子,包括图像。当显示图像时,它们被放置在div标记中,该标记的样式是尝试缩小图像的大小,并将图像horziont地相邻显示。 然而,我有一个问题,图像仍然试图堆叠在一起,我不能让他们调整我想要的大小,特别是在移动。目前基于其他线程,这是我得到的

  • 问题内容: 这看似微不足道,但是经过所有的研究和编码,我无法使其正常工作。条件是: 浏览器窗口大小未知。因此,请不要提出涉及绝对像素大小的解决方案。 图片的原始尺寸未知,可能适合浏览器窗口,也可能不适合浏览器窗口。 图像垂直和水平居中。 图像比例必须守恒。 图像必须在窗口中完整显示(不裁剪)。 我不希望滚动条出现(如果图像合适,它们也不应该出现。) 窗口尺寸更改时,图像会自动调整大小,以占据所有可

  • 问题内容: 您如何自动调整大图像的大小,以使其适合较小的div容器,同时保持其宽高比? 示例:当图像插入到编辑器面板上并且图像太大而无法容纳在页面上时,图像将自动调整大小。 问题答案: 请勿对图片标签应用明确的宽度或高度。相反,给它: 另外,如果只想指定宽度。