源代码下载链接
https://github.com/gemark/WinIconTools/tree/master/png
关于解析PNG,实现了两套代码,下面是第一个实现:
这个实现没有一次性解析所有chunk,后来我觉得不满意,由重新写了一次性解析所有chunk的第二套代码,在这套代码下面有贴。
存放在github.com上的源代码链接
Go语言处理Windows系统的图标ICO文件(中)
Go语言处理Windows系统的图标ICO文件(下)
下面是第二套代码,不同的是,chunk没有保存到切片中,而是存到链表里面了。数组访问快,但是提取指定内容还是要遍历,既然如此还不如使用链表,考虑过,也可以使用map映射结构来保存chunks,但是考虑到后面如果我要将数据重新操作后,写入新的PNG文件,还是顺序的,所以决定使用链表形式保存chunks。
我们接触的PNG文件大部分使用