捕获屏幕图像并在应用程序上每秒显示一次有效吗?

时间:2013-06-15 01:45:44

标签: java image selenium screen capture

我是编程新手,但我真的希望改进,现在正在学习Java。基本上有这个游戏,在线策略它非常基本,大多数图像都是静态的,很少有变化。我希望改变我从游戏中查看游戏的方式,并为其添加一些功能。

例如,网站显示一个橙色矩形,我希望通过绘制它来显示一个红色矩形。或者,如果点击,则会将我重新引导到游戏的另一部分。最初我使用Selenium Chrome WebDriver来浏览网站,但似乎你无法在其上绘制或显示自己的图像。所以我想知道在创建Java应用程序时是否应该在后台执行任务时使用Selenium。让WebDriver每秒捕获一次图像并每秒在Java应用程序上显示它,然后根据自己的喜好编辑该图像?这是否是有效的方法呢?还是有更好的选择?

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你在这里想要实现的目标。你的方法是否“有效”取决于你想要实现的目标!

但是,我可以看到一些问题:

  • 我不知道技术上是否可以让Selenium WebDriver这样做......

  • 从性能角度来看,以高速率捕捉图像可能会有问题。

  • 捕获图像后:

    • 手动修改图像将是繁琐且劳动密集的。 (可能不是你想做的。)

    • 以编程方式修改静态图像是可能的,但很难实现并且非常脆弱。游戏屏幕渲染的最轻微改变可能导致你的“调整”写到图像上的错误位置。

    • 对图像的动态部分进行更改几乎是不可能的......除了具有破坏性的意义。

    • 您不能通过这种方法影响游戏。您对图像所做的任何操作都不会影响浏览器,从而影响服务器。您不能以这种方式添加功能。

简而言之,这是一个糟糕的主意,不太可能实现任何有价值的东西。


我能想到任何好的选择吗?不,我不能。

我能想到的最好的是:

  • 对上传到您浏览器的HTML / Javascript进行反向工程,
  • 找出您要在该内容中更改的内容,以及
  • 在您的网络浏览器和服务器之间放置一个HTTP代理,将相关更改注入内容。

然而:

  • 实施这将是一项棘手而繁琐的工作。
  • 它会很脆弱;即对游戏/游戏服务器的更改可能会破坏您的“黑客”。
  • 可能违反了游戏所有者的版权和/或授予您使用游戏权利的许可。这可能导致您的游戏帐户被取消,以及使用您的“黑客”的任何其他人的帐户。

我的建议?只是玩游戏!