45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 电脑教程 > 阅读资讯:如何使用Java读取ico文件?

如何使用Java读取ico文件?

2016-08-27 08:23:19 来源:www.45fan.com 【

如何使用Java读取ico文件?

Java读取ico文件,用ico做新的鼠标图标。

昨天需要在程序里用ico做鼠标,但在jdk中没找到可以读取ico文件的方法。只好到网上找,在百度里搜索了半天也没看出个啥,用google搜索 ‘java ico一下就搜索出来办法了。

0 前言

进入下面这个地址:

http://www.acproductions.de/commercial/aclibico/

Java library for ICO files © 2003-2006 Christian Treber

感谢Christian Treber这个老外的作品,可以让我方便的读取ico,而且使用是免费的。

1下载这个包: aclibico-2.1.zip

2 解压缩得到这个jar文件:aclibico-2.1.jar

这个就是我们需要的可以把ico转换成image的东

下面是网站上关于这个包的介绍:

What it Does

· Read ICO files from file, stream, buffer, URL

· Convert ICO file into Java Image objects

What it Needs

· Java Runtime 1.4 or higher

What it Costs

· Nothing - it's for free.

在网站上竟然没有发现一个如何使用这个包的说明例子:只能自己看API了。

3 在下载下来的aclibico-2.1.zip压缩包里有AC.lib-ICOJavaDoc.pdfAPI文档

因为是pdf文档,找起api来很麻烦,所以把需要的api直接截图下来,方便查看

如何使用Java读取ico文件?

如何使用Java读取ico文件?

如何使用Java读取ico文件?

4 在程序使用aclibico-2.1.jar

在工程的路径下添加这个包,就可以转换ico文件了。

下面是我如何使用这个包的

//导入aclibico-2.1.jarICOFile类,这是我们需要的转换ico文件的类

import com.ctreber.aclib.image.ico.ICOFile;

//ico所在的路径表示成一个url

String tmp = this.baseUrl + "/ico/" + icoName + ".ico";

URL u = new URL(tmp);

//这里就是读取ico文件的方法。我是通过一个url读取的。

ICOFile ico = new ICOFile(u);

//可能ico文件里不止一个图片,返回图片列表

java.util.List list = ico.getImages();

Image image = null;

//因为我确定我读取的ico里只包括一张图片,所以我判定是否为空。然后取出一张来,可能里面有好几张。可以都取出来。

if (!list.isEmpty()) {

//不为空我就取出那张图片来

image = (Image) list.get(0);

}

//我读取的ico16*16的,我想把它弄大一点点,所以把它拉伸20*20.sun的图象处理api真方便,只要一行代码。

image = image.getScaledInstance(20, 20, Image.SCALE_SMOOTH);

//最后,我把这张20*20的图片做为我新的鼠标图案,在程序里就可以直接使用新的鼠标图案了

Cursor newCursor = Toolkit.getDefaultToolkit().createCustomCursor(image, new Point(10, 10), cursorName);

5 结束语

这个包使用起来还是很方便的,而且很校这样在程序里做GUI的鼠标图案就很方便了。

另外用bmp.jpeg。。等其他官方jdk支持的图象格式也能做鼠标图案,不过要稍微麻烦点。(要过滤掉一些颜色做透明化处理)

这是我的一些看法,不知道有没有错,有不对的地方,请看这篇文章的朋友指出来,谢谢。


本文地址:http://www.45fan.com/dnjc/68218.html
Tags: 读取 Java ico
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部