【问题标题】:Stretching images in Java在 Java 中拉伸图像
【发布时间】:2013-10-09 16:37:57
【问题描述】:

我阅读了一些关于 SO 的问题,但我正在努力拉伸图像以适应 JLabel。我有一个 Derby DB,它确定使用哪个图像。下面的代码是 catch 代码,但其他代码使用相同的方法。

我有以下编码:(实验)

    import java.awt.Image;
    import javax.swing.ImageIcon;
    import java.awt.Graphics;
    import java.awt.Toolkit;
    ...
//On Window Load, this happens
    Toolkit toolkit1 = Toolkit.getDefaultToolkit();
    Image image1 = toolkit1.getImage("unknown.png");
    Image scaledImage1 = image1.getScaledInstance(232, 177, Image.SCALE_DEFAULT);
    ImageIcon profilepic1 = new ImageIcon(scaledImage1);
    lblImg.setIcon(profilepic1);

JFrame:

JLabel 是带有默认文本“功能即将推出!”的标签。它的尺寸为 232 x 177,我希望图像可以拉伸(更小)以适合该 JLabel。

谁能帮助我并解释我做错了什么? 谢谢!

【问题讨论】:

  • 你试过ImageIcon 吗? :)

标签: java image netbeans graphics derby


【解决方案1】:

您应该可以使用 Darryl 的Stretch Icon

【讨论】:

    【解决方案2】:

    您可以使用的一种方法是使用ImageIcon。然后,您可以调整 ImageIcon 的大小以满足您的需要。看教程:http://www.coderanch.com/t/331731/GUI/java/Resize-ImageIcon

    方法如下:
    1. 加载您的ImageIcon
    2. 准备您的 GUI。
    3. 然后,获取您打算显示图像的JComponent 的测量值。比如说,JLabel
    4.获取JLabel的宽高后,可以按照教程中的说明调整图片大小。

    这是 Mykong 的一篇:http://www.mkyong.com/java/how-to-resize-an-image-in-java/

    【讨论】:

    • 我尝试了以下但没有成功:lblImg.setIcon(new ImageIcon(((new ImageIcon("unknown.png")).getImage()).getScaledInstance(232, 177, java.awt.Image.SCALE_SMOOTH)))
    【解决方案3】:

    这些不是可分割的图像,所以下面的代码很好地解决了我的问题

    jlbl.setIcon(new ImageIcon("d:/azam/tulpiss.jpg));
    jlbl.setBounds(10,10,180,80);
    

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 2011-01-07
      • 2012-09-09
      • 1970-01-01
      相关资源
      最近更新 更多