代码和你发的那个没有本质区别,不过我没有替换DLL而是自己做了个通用的驱动注入平台
) ~( w) H( S- ], P. I目前是拿火炬之光做测试的D9版本
7 A5 W( u! C% Q- {, E我在实现一个更进一步的想法,就是在游戏创建文字纹理的做个备份,然后再绘制那里做复制与分频显示
$ Z" d n0 G. H9 N5 _; B0 _3 n$ K0 n7 U最终看到的应该是游戏中的文字,会实时取出来单独在一个窗口显示,或者存成图片,% T3 H: K% W" c+ l: x- _! q0 z U
当然做成快捷键呼出的形式直接显示在游戏界面也可以
, K6 |4 m7 V* F% [* e* E/ l再下一步我打算使用OPENCV从我保存的图片中识别文字,然后利用一些机翻接口自动翻译(这里可以设置成可由玩家修改保存.如果要显示攻略甚至玩家评论都可以在这地方一起)
7 J6 ?/ A* P5 s: c+ B' @+ U! V至于在另外个帖子里你提到的每帧刷新时图像识别的效率问题,由于每帧刷新的时候我只做一个简单的文字纹理复制动作,
+ K7 {! k+ C6 G+ g5 }# I. U" H对游戏执行速度影响不会太大. 对文字纹理的区分是在其他地方做的,纹理复制在绘制时候做,文字图像识别在单独的线程窗口做, n. w0 H! ?) R0 L2 N
这样把工作量就分散开了 X2 U5 ^ R4 o3 x" j
这个图是把火炬的纹理画面复制到我自己窗口,画了2个方块% Q' o* c: i: J, }/ E2 }# C4 k K
debugview表示的是纹理筛选参数,这部分还没完全弄好
" V: D9 }. Y, ^* D# h' x8 y0 K还有些通用性与界面的想法没理清,哪天一起聊聊,6 k3 X) s0 V A+ m
有点实质内容了我再整理下代码发出来,另外本人界面很渣-_- |