◇自己动手eMule组件不求人◆ 第一篇 地区旗帜库
emule吧
全部回复
仅看楼主
level 11
asp502010 楼主
1楼防抽
2013年05月09日 07点05分 1
level 11
asp502010 楼主
原帖:http://hi.baidu.com/asp502010/item/b8a782c0926ce325e80f2e7e
《eMule组件不求人》系列————总序
开源软件是非常自由的,软件中的很多功能用户都可以自己定制,就如同“高自由度”的游戏一样。而eMule作为其中的佼佼者,我们可以通过各种各样的独立组件来加强它或者美化它,使eMule尽可能的满足自己的使用需求。
《eMule组件不求人》系列文章主要针对皮肤、IP过滤库、服务器列表、IP地理位置数据库等诸多组件的获取或制作方法进行介绍,帮助大家在这些组件的选用上能够拥有独立性和多样性。
骡友无需编程基础,只需熟悉eMule,同时耐心、用心阅读文章,熟练运用文中介绍的方法和软件,即可获取或制作出属于自己的eMule组件。
鉴于本人软件使用水平有限,编程知识所剩无几,同时艺术细胞匮乏,制作出来的组件可能不能满足所有骡友的需求。但本着自己动手丰衣足食的态度,旨在抛砖引玉,给大家以方法或启发,进而使更多的人拥有属于自己个性的“骡子”。
2013年05月09日 07点05分 2
level 11
asp502010 楼主

第一篇 地区旗帜库
1、简介
地区旗帜库(countryflag32.dll)配合IP地理位置数据库(ip-to-country.csv)可以在eMule中显示你所连接上的客户端所在的地区旗帜。
如上图,地区旗帜库可以让客户端摆脱冷冰冰的外表,进而变成一个个来自不同国家、活生生的朋友。目前,除官方eMule外,各大mod(如Xtreme、MorphXT等)几乎都支持地区旗帜库这个让eMule更有活力的功能。
2013年05月09日 07点05分 3
level 11
asp502010 楼主

2、常用地区旗帜库
上图展示了4个常用地区旗帜库
(1)Xtreme和MorphXT自带的旗帜库
(2)famfamfam版————由famfamfam制作的旗帜库,也是笔者常用的旗帜库,相比其他版本,色彩明亮却不失沉稳。(博客地址:http://www.famfamfam.com/lab/icons/flags/
(3)Flagfox1————电骡爱好者网站基于Flagfox(一个著名的Firefox扩展)制作。(网址:http://eMulefans.com/countryflag-dll-3fam-flagfox/http://flagfox.net/
(4)Flagfox2————电骡爱好者网站基于Flagfox(一个著名的Firefox扩展)制作。
(5)asp502010————笔者制作的一个圆形旗帜库,目前还比较粗糙。
以上5个旗帜库的素材和成品下载地址:[无效] http://pan.baidu.com/share/link?shareid=451044&uk=2802115722
2013年05月09日 07点05分 4
楼主,百度网盘挂了
2016年07月05日 02点07分
楼主电骡旗帜成品下载挂了,能补一下地址吗?
2017年12月18日 02点12分
level 11
asp502010 楼主

3、工作原理及本质
地区旗帜库依赖IP地理位置数据库才能显示客户端地区的旗帜。这是因为IP地理位置数据库实现客户端(IP)-->国家的对应,地区旗帜库实现国家-->国家旗帜的对应。没有IP地理位置数据库,地区旗帜库无法工作。前者放到下一篇再讲,我们继续看地区旗帜库。
地区旗帜库就是保存于config文件夹下的countryflag32.dll文件,因为它是用来显示地区旗帜的,所以本质上它就是一个图片集,只不过是打包成DLL文件而已。这样,制作地区旗帜库的步骤就自然而然的出来了:
①制作符合标准的图片
②把图片按规定打包成DLL文件
注:config文件夹下的countryflag.dll文件也是旗帜库,不过是用于win9x系统下,win2000以上系统使用countryflag32.dll。
2013年05月09日 07点05分 5
level 11
asp502010 楼主

4、用到的软件及辅助文档
● 画笔(画图) windows系统自带————神器!!!拥有很多PS无法比拟的神奇功能,谁用谁知道。
●Resource Hacker v3.6 ————资源编辑器,用于编辑dll文件,替换其中的图标,简单好用。
●IconWorkshop v6.8 单文件汉化版 (或IconCool Studio 7英文版)————优秀的图标制作工具,用于旗帜图标的“精加工”。
● 国家缩写+图标组序号(常用38个).txt 和 国家缩写+图标组序号(全部260个).txt————用于对照,寻找、命名图标
●Dev-C++ 4.9.9.2 ————小巧、免费、开源的C/C++编译软件,用于编译DLL文件。
● 地区旗帜库源码————提取自MorphXT 12.7的源码,用于编译DLL文件。
以上软件可按需下载:[无效] http://pan.baidu.com/share/link?shareid=451044&uk=2802115722
2013年05月09日 07点05分 6
连接挂了求补链,想要famfamfam的
2017年10月21日 10点10分
level 11
asp502010 楼主

5.2 旗帜图标的标准
官方要求的图标标准是:32位 ico格式 长宽像素为18X16,其中有效图案为18X12,上下为18X2的透明区域,见下图(Xtreme自带的中国旗帜):
遵循官方标准,可以保证显示的旗帜不变形。实际当中,如果怕麻烦,也完全可以使用18X18或16X16的32位ico图标。经测试,这些图标在Xtreme中不会变形,而在ScarAngel和MorphXT会出现轻微变形。使用什么大小的图标,就看自己喜好了。
2013年05月09日 07点05分 8
level 11
asp502010 楼主

5.3 图标制作软件的简单使用
下面简单介绍下使用IconCool Studio 7(IconWorkshop汉化版的使用基本相同)制作图标。制作图标的高手都是直接用软件绘制,笔者能力有限,就只能依赖已有的素材了。
网上的素材很多,旗帜图标也不少,找到一套看起来不错的圆形旗帜,256X256的(可在提供的下载地址中找到)
安装完IconCool Studio后打开,无需对英文眼晕,因为本文只会用到2、3个提示框。
把制作成图标的素材拖到IconCool Studio里打开,在弹出的窗口中点击右下角的“next”,会弹出窗口询问转换的格式,左边是“颜色”,点选“Windows XP”代表32位颜色。右边是大小比例,我们最终目的是制作18X18的图标,这里先选稍大一点的48X48,作为修改基础。点击“OK”,生成图像。
这时发现,原有素材上下左右都有边,有效图像没有充满,点击左边工具栏中的“选取框”按钮,按照网格,框选图像有效部分,再点击上面的“copy”按钮(或直接按Ctrl+C快捷键)。
接着,点击左上角的“New”按钮创建新的图标,上面的名字随便起,下面的提供了几个标准尺寸,但是我想做18X18的,所以选择“Custom Size”,右边宽和高分别填入18,最下面颜色选择[XP]代表32位色。点击“OK”,生成一个空白图标。
点击上面的“Paste”(粘贴)(或直接按Ctrl+V快捷键),弹出提示框,上面的代表原比例复制,下面的代表适应画布大小缩放,选第二个。
就得到了我们所需的18X18的图标了,点击左上角的“Save”按钮保存下来就可以了。
如果追求旗帜制作的完美,制作出符合官方标准的图标,那么在新建空白图标时,选择“Custom Size”时,取消“Square(正方形)”,然后在宽和高处分别填入18和16。
点击“OK”创建18X16图标后,选择“Paste(粘贴)”,接着选第二项缩放,然后找到图片上下中间两个点,用鼠标拉动向中间缩放2格,得到的就是官方标准了。
这样,打开Resource Hacker,用自己制作的精美图标替换countryflag32.dll中原有图标即可。
2013年05月09日 07点05分 9
level 11
asp502010 楼主

5.4 Dev-C++的使用与DLL的编译。
注:以下教程无需编程基础。
地区旗帜库中的图标有200多个,如果大量修改旗帜图标,再使用Resource Hacker一个个替换就显得太繁琐了。所以下面将介绍使用Dev-C++直接对大量图标“打包”的方法,也就是最正统直接编译countryflag32.dll的方法。
之所以用Dev-C++,主要是因为VC++笔者不会用~~
先安装Dev-C++ 4.9.9.2,安装过程是英文,不要紧,一路“next”,安装后打开,初始设置也是一路“next”。出现英文界面,点击菜单栏的“Tool”-->“Environment Options”,在弹出窗口中选择“Interface”标签,在“Language”下拉菜单中选择“Chinese”即可变为中文界面。
软件先放在一边,接着我们来看源码,解压地区旗帜库源码.7z,打开,可以看到几个文件,见下图说明
制作好的旗帜图标,要求260个地区必须都包括,一个不能差,并且按各自国家的2位英文缩写命名,国家与缩写的对应详见国家缩写+图标组序号(全部260个).txt
新建一个文件夹“countryflag32”,把“res”文件夹复制进去,然后把自己制作好的旗帜图标复制进“res”文件夹里,这里为了大家练手,可以把源码包中“res32”文件夹里的所有图标复制到“res”里。
打开Dev-C++,点击左上角的“新建工程”按钮,在“新工程”提示框中,选择“DLL”、“C++”工程,命名为“countryflag32”。
点击“确定”,选择“新工程”的保存位置为“countryflag32”文件夹,一定要保证新建的countryflag32.dev与图标存储文件夹“res”处在同一文件夹下!
点击“保存”,Dev-C++会在countryflag32工程下自动新建两个标准文件,这是我们不需要的,右键点击,选择“移除文件”,选择“不保存”。
然后右键点击“countryflag32”,选择“添加”,选择之前介绍的源码"flag.vcproj" "resource.h" "flag.rc" "flag.sln" 4个文件,点击“打开”。
添加完源码后,在菜单栏中选择“运行”->“编译”。出现“Compile Progress”提示框,过2、3秒钟后,显示“Done”,表示编译成功。
点击“关闭”后。这时,打开“countryflag32”文件夹,发现里面生成了很多乱七八糟的中间产物,不用管它们,在其中找到countryflag32.dll,这就是我们编译完成的地区旗帜库,把countryflag32.dll复制到eMule中的config文件夹里,打开eMule看看效果吧~~
最后“编译”过程中出现的常见错误,如下图,提示找不到“res\某某.ico”,这时请重新确定你新建的countryflag32.dev与图标存储文件夹“res”处在同一文件夹下,同时确定“res”文件夹下是否有提示的“某某.ico”,如果没有请制作好加入。
注:如果对“res”中的个别图标做了修改,然后编译新的DLL文件时,必须删除掉所有中间产物或者再新建一个文件夹,按照本文,重新建立工程,再编译。否则,编译出来的dll还是原来的,不会出现修改的内容。
2013年05月09日 07点05分 10
level 11
asp502010 楼主

5.5 小结
至此,笔者介绍了制作ountryflag32.dll的几种思路方法:
第一步:制作旗帜图标
①使用在线图标制作网站,进行图标“粗加工”;
②使用IconCool Studio(或IconWorkshop)图标制作软件,进行图标“精加工”。
第二步:countryflag32.dll文件的修改或编译
①对于少量图标修改,使用Resource Hacker直接打开原有countryflag32.dll进行图标替换;
②对于大量图标,使用Dev-C++直接对源码编译生成新的countryflag32.dll。
6、结语
我也做了一个地区旗帜库,没有做260个旗帜图标,只是在famfamfam版的基础上,修改了常见的38个地区旗帜为圆形图标。效果见下
一张Xtreme 8.1
两张ScarAngel 4.2

本文以上所有提到、用到的软件、素材库、各版countryflag32.dll都可以在提供的下载地址处下载到。
本篇完,预告————第二篇 IP地理位置数据库 敬请期待
PS:欢迎提问题和宝贵建议。
2013年05月09日 07点05分 11
level 11
asp502010 楼主
@这是圣战
这个你可以做嘛,是你强项呢[飘过]
2013年05月09日 07点05分 12
level 10
好贴,但是这个太费时间了
emule还没有到让我不堪入目的状态,我表示还不想改啊
2013年05月09日 08点05分 13
也不是不堪入目嘞,就是让emule更漂亮一点,更个性一点~~
2013年05月09日 08点05分
level 10
还有其他组件吗,我想使用emule起来方便点
2013年05月09日 08点05分 14
呃,你想要啥组件?
2013年05月09日 08点05分
level 10
嗯,比如突破速度,因为,我觉得(我指我自己,因为是正在下载3400个文件)
如此的文件,共享的人应该数不胜数了。但是速度没有任何的改变 始终都在100左右
我觉得可能是在那里设置掐住了
怎么说的,不知道是我下的版本的问题,还是我设置不对,我现在这款天使骡看起来好别扭
2013年05月09日 08点05分 15
level 9
2013年05月09日 13点05分 18
以前没怎么召唤过,不知道召唤还有技巧。话说lz这么辛苦就加精了吧。
2013年05月09日 13点05分
回复 way361 :加了
2013年05月10日 04点05分
level 11
@asp502010 楼主电骡旗帜成品下载挂了,能补一下地址吗?
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
2017年12月18日 02点12分 19
level 11
旗帜的文件在哪里,emulefans的挂了,你的链接也挂了!
——我喂自己袋盐
>>Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
2017年12月20日 08点12分 20
用骡内置的查询可以找出 关键词可选“ip to cou删去这几个字ntry” ,扩展名限定为csv
2017年12月20日 13点12分
我说的是旗帜文件不是IP地址的文件!
2017年12月21日 01点12分
level 7
教程写的很详细,可惜我太小水,不会完编译。暂时用各位大大提供好的。
2018年01月06日 10点01分 21
level 11
能重发地区旗帜库(countryflag32.dll)文件吗?百度盘挂了。emulefans网站的下载链接也挂了
[瞌睡]我不知道什么是魅力,但它不由自主的从我身上散发出来!
2018年02月08日 07点02分 22
我有
2018年02月08日 07点02分
你可以去看我的那个neo emule语言包下载那边重组链接就可以让那些文件下载了。
2018年02月08日 07点02分
等下,我找找我发的帖子
2018年02月08日 07点02分
已经发了新帖子。并且待会发下怎么下载那些google code域名的东西
2018年02月08日 08点02分
level 1
我连下载都不会呢[泪]看不懂英文
2018年02月09日 04点02分 23
1