SWT setImage 问题!高手进

yhwyhwgnauhs 2010-02-16 05:56:35
Shell 的 setImage 方法设置控制菜单图标。我先用 getResource 方法获取 URL,结果把程序连同图片资源一起打包后始终无法识别出路径,但是直接运行主类 class 是可以识别路径的,并且 ico 格式是支持的。

然后我换了一种办法,用 getResourceAsStream 方法获取了流,结果可以找到包内的文件了。但是 ico 格式它提示错误:org.eclipse.swt.SWTException: Invalid image,换一个 png 的图片就没问题。

然后我用 Windows 照片查看器 看了一下,发现那个 ico 其实包含了十几张图片,我实际需要的只是其中的一张。我想大概是读入流的时候出了问题。

我就应该要把 ico 拆解开来,该如何弄?或者有没有更直接的办法?
...全文
172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
KimSoft 2012-02-13
  • 打赏
  • 举报
回复
http://mydown.yesky.com/soft/multimedia/formattransfer/493/417993.shtml 转换小工具
KimSoft 2012-02-13
  • 打赏
  • 举报
回复
this.setImageDescriptor(ImageDescriptor.createFromImageData(imageData));
KimSoft 2012-02-13
  • 打赏
  • 举报
回复
同样的问题啊。
this.setImageDescriptor(ImageDescriptor.createFromFile(this.getClass(), icons[index]));//这样没问题

ImageData imageData = new ImageData(this.getClass().getResourceAsStream(icons[index]));//准备用这个读,再变一下大小,结果报错!
this.setImageDescriptor(imageData);

不行就先转成png吧
http://blogs.bytecode.com.au/glen/2005/04/15/converting-ico-files-for-use-in-swt-apps.html
healer_kx 2010-02-16
  • 打赏
  • 举报
回复
恐怕是不行的了,你还是得到每一个ico吧。

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧