有代码如下:
CTabItem tiTabsAbout = new CTabItem(tabfolder, SWT.NULL);
tiTabsAbout.setText("关于我们");
tiTabsAbout.setToolTipText("关于我们.");Label aboutLabel = new Label(tabfolder, SWT.PUSH);
aboutLabel.setBackgroundImage(new Image(disp,
getClass().getResourceAsStream(Const.IMAGE_DIRECTORY+"Process.bmp")));
tiTabsAbout.setControl(aboutLabel);
显示的图片是平铺的,怎么能让图片拉伸的呢。
CTabItem tiTabsAbout = new CTabItem(tabfolder, SWT.NULL);
tiTabsAbout.setText("关于我们");
tiTabsAbout.setToolTipText("关于我们.");Label aboutLabel = new Label(tabfolder, SWT.PUSH);
aboutLabel.setBackgroundImage(new Image(disp,
getClass().getResourceAsStream(Const.IMAGE_DIRECTORY+"Process.bmp")));
tiTabsAbout.setControl(aboutLabel);
显示的图片是平铺的,怎么能让图片拉伸的呢。
*@param w 新图片的宽
*@param h 新图片的高
*@param image 以前的图片
*@return 返回宽为w,高为h的新Image对象
*/
public static java.awt.Image getImage(int w,int h,java.awt.Image image)
{
return image.getScaledInstance(w,h,java.awt.Image.SCALE_FAST);
}
你的那个是java.awt.Image
我的那个是org.eclipse.swt.graphics.Image
getScaledInstance这个方法!
import javax.swing.*;
import java.awt.image.*;
public class ImageTest extends JFrame//图片缩放
{
JLabel lb;
Image img;
Container c;
public ImageTest(){
super();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,10,500,500);
setVisible(true);
c=getContentPane();
c.setLayout(null);
img=Toolkit.getDefaultToolkit().getImage("1.jpg");
Image ig=img.getScaledInstance(100,100,Image.SCALE_DEFAULT);
lb=new JLabel(new ImageIcon(ig));
lb.setBounds(0,0,300,300);
c.add(lb);
//draw();
repaint();
} private void draw(){
Graphics g=lb.getGraphics();
g.drawImage(img,0,0,200,200,lb);
} public static void main(String[] args)
{
new ImageTest();
}
}