当前位置: 首页 > 知识库问答 >
问题:

调整图片大小以适应JLabel

宦兴朝
2023-03-14

我正在尝试使图片适合JLabel。我希望将图片尺寸缩小到更适合我的Swing JPanel的尺寸。

我尝试使用setPreferredSize,但它不起作用。

我在想有没有一个简单的方法来做这件事?我应该为此缩放图像吗?

共有1个答案

羊舌自强
2023-03-14

下面是要遵循的步骤。

  • 将图片作为缓冲区读取。
  • 将BufferedImage的大小调整为与JLabel大小相同的另一个BufferedImage。
  • 从调整大小的BufferedImage创建ImageIcon。

您不必设置JLabel的首选大小。将图像缩放到所需的大小后,JLabel将采用ImageIcon的大小。

BufferedImage img = null;
try {
    img = ImageIO.read(new File("strawberry.jpg"));
} catch (IOException e) {
    e.printStackTrace();
}
Image dimg = img.getScaledInstance(label.getWidth(), label.getHeight(),
        Image.SCALE_SMOOTH);

确保标签宽度和高度与原始图像宽度和高度的比例相同。换句话说,如果图片是600 x 900像素,缩放到100 x 150。否则,你的画面就会失真。

ImageIcon imageIcon = new ImageIcon(dimg);
 类似资料:
  • 问题内容: 我正在尝试使图片适合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 我也试过: 但是没有任何变化,没有

  • 问题内容: 我正在尝试从目录加载图像并将其作为图标放置在中。但是,当图像尺寸很大时,就不能完全放入标签中。我尝试调整图像的大小以适合标签,但无法正常工作。我可以知道我要去哪里了吗? 问题答案: BufferedImage img = ImageIO.read(…); Image scaled = img.getScaledInstance(500, 500, Image.SCALE_SMOOTH)

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

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

  • 我试图通过反复更改上的图标来创建一个动画(旋转文本)。问题是这些图像的大小不相同,当它们大于第一个图像的大小时,它们就会被裁剪。 解决这一问题的一种方法是为设置PreferredSize以便所有图像都适合--但我想一定有一种方法可以直接调整包含的的大小? 在下面的代码中,我还尝试将全部删除,创建一个新的jlabel,然后添加新的jlabel,但效果是一样的。 整个面板将在一个applet中使用。