2011-01-19 107 views
6

我希望通过使用图形,但这里不能STRETCH时的图像是我的代码它显示,我想大小的图片,但没有strach图像如何拉伸图像

void imageload() { 
    FileDialog fd = new FileDialog(MainFram.this,"Open", FileDialog.LOAD); 
    fd.show(); 
    if(fd.getFile() == null){ 
     //Label1.setText("You have not chosen any image files yet"); 
    }else{ 
     String d = (fd.getDirectory() + fd.getFile()); 
     Toolkit toolkit = Toolkit.getDefaultToolkit(); 
     Image1 = toolkit.getImage(d); 
     saveImage = d;//if user want to save Image 
     ImageIcon icon=new ImageIcon(Image1); 
     lblImage.setIcon(icon); 
     lblImage.setMinimumSize(new Dimension(50, 70)); 
     lblImage.repaint(); 
    } 
} 

回答

6

呼叫getScaledInstance()将图像缩放到大小您需要在创建ImageIcon之前。您不需要在标签上拨打setMinimumSize

Image image = toolkit.getImage("pic.jpg"); 
Image scaledImage = image.getScaledInstance(50, 70, Image.SCALE_DEFAULT); 
ImageIcon icon=new ImageIcon(scaledImage); 
1

从filchooser设置背景图像

final JFileChooser fc = new JFileChooser(); 
    int r = fc.showOpenDialog(this); 


    fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 

    if (r == JFileChooser.APPROVE_OPTION) { 
    String name = fc.getSelectedFile().getAbsolutePath(); 

      JOptionPane.showMessageDialog(null,"ADDED successfully"); 
      Toolkit toolkit = Toolkit.getDefaultToolkit(); 
      Image image = toolkit.getImage(name); 
      Image scaledImage = image.getScaledInstance(1366, 768, Image.SCALE_DEFAULT); 
      ImageIcon icon=new ImageIcon(scaledImage); 
      my.jLabel10.setIcon(icon);}