首先说明下大漠综合工具制作字库的过程和原理 1
截取你所需要的图片 2
点击你所需要字的颜色 3
点击提取点阵 4
输入字符 按回车生成字库 具体的原理我不好说,但是就我的理解是:对图片中不符合指定颜色的部分去除掉,然后二值化获取点阵,点阵也就是这些颜色的分布规律,二值化就是黑白两色,RGB 格式中黑色"000000"白色"ffffff" 由于我的脚本在别人电脑上运行的时候经常失效,今天改成16 位色后我机器上运行也失效了,而我这个脚本主要采用的就是大漠插件的找字功能,我以为是机器间的色偏造成的,一直想法子算色偏,但是我失败了
后来我想起论坛上有个帖子专门讲过同色系的RGB 格式中R 值是不变的(不好意思忘了作者了,在这里致谢) 于是我就在大漠综合工具的色偏处输入了00ffff 结果是在16 位色环境下,大漠综合工具中二值化区域内的字显示的跟我在32 位色环境下做的一模一样,接着我提取点阵,制作字库,进行调试,命令格式如下: dm_ret =dm
FindStr(0,0,978,585, "码", "ffd463-00ffff", 1
0, x1, y1) If x1 >= 0 Then MessageBox x1 & y1 End If 准确的弹出了x,y 的坐标值 接着我换 32 位色做同样的调试,显示结果与 16 位色下相同,我测了坐标正好是我要找的字的左上角 经多次测试发现这个方法中字色的R 值必须为FF 或 00(至于F1,01 等未测试,有兴趣的朋友可以试试) 庆幸啊以后找字可以不考虑偏色了 呵呵 再说了考虑我也不会算 具体原理我也不是很懂,但是我估计应该是:我比较了点阵中R 值相同的所有点,取得符合二值化点阵区域内所有的点造成的 再次提醒 此方法只适合R 值为00,FF 的 其他位置相同的未测试 当然这么做效率是低了点,但是在我看来脚本应该是:稳定性>通用性