Java语言swt加载图片的问题

2025-05-13 03:45:25
推荐回答(2个)
回答1:

ImageIO.read();

 得到一个BufferedImage

JLabel l=new JLabel();//图片标签

  l.setPreferredSize(new Dimension(200, 200));//设置大小

  BufferedImage image=new BufferedImage(l.getWidth(), l.getHeight(), 1);//在内存中创建相同大小的图片缓存

  Graphics2D g2=image.createGraphics();//创建内存画笔

  BufferedImage srcImage=ImageIO.read(new File("path"));//加载图片

  //srcImage.getSubimage(x, y, w, h)//截取指定坐标X,Y开始指定长宽的区域的图片

  g2.drawImage(srcImage, 0,0,image.getWidth(),image.getHeight(),null);//将加载的图片绘制到内存中,填满整个图片

  l.setIcon(new ImageIcon(image));//设置标签的图片

回答2:

Image a=SWTResourceManager.getImage(this.getClass(), "c:/aa.jpg");
ImageData data=a.getImageData();
data=data.scaledTo(50, 20);
a=new Image(display,data);
button.setImage(a);