Java语言swt加载图片的问题

有一个swt的label,大小是20×50,现在要给这个label加载一个背景图片应该怎么加载呢要求:能够对背景图片进行缩放,不论多大的图片,都正好占满整个按钮,应该如何... 有一个swt的label,大小是20×50,现在要给这个label加载一个背景图片应该怎么加载呢
要求:能够对背景图片进行缩放,不论多大的图片,都正好占满整个按钮,应该如何实现呢
展开
 我来答
302652034_bai
2014-05-27 · TA获得超过4145个赞
知道大有可为答主
回答量:2206
采纳率:66%
帮助的人:1545万
展开全部

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));//设置标签的图片
追问
注意啊,是swt,现在用swt做项目,swing我是很熟练的,swt不大熟练
百度网友c2ac8041
推荐于2016-07-20 · TA获得超过880个赞
知道小有建树答主
回答量:468
采纳率:100%
帮助的人:262万
展开全部
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);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式