Jump to content

Detect pixel changes on specific screen area?


Recommended Posts

Hey.

Is there anything that does the same thing as this?

 

Namely I'm talking about detecting when something has changed on screen.

The FastFind library is crashing without any errors after running:

FFSnapShot($left, $top, $right, $bottom, 0)
FFSnapShot($left, $top, $right, $bottom, 1)
$diff = FFLocalizeChanges(0, 1)

And then trying to overwritite the old snapshot (0 or 1).

If I use always different snapshot numbers its using too much memory and will eventually crash my pc.

I tried downloading older versions but they're not working and the author is inactive.

 

It takes 2 snapshots and compares them returning the area that has changed very quickly (left, top, right ,bottom).

Can anyone help me do this?

Looping PixelGetColor would require a bunch of extra code to my purpose and its not as efficient...

 

Thanks

 

 

Link to comment
Share on other sites

Link to comment
Share on other sites

Link to comment
Share on other sites

Link to comment
Share on other sites

7 minutes ago, Nine said:

Ya keep on staying very vague about your "private" application.  Gonna have hard time to find help as nobody can read in crystal ball anymore...

Bro, what are you talking about lmao? I've said exactly what I'm looking for: an alternative for FastFind. Stop trolling. There's nothing complicated about the question. A simple "No" would've sufficied if there's no alternative. Wowwie.

 

Well anyway I somewhat managed to work with PixelGetColor so I'll just go with that and save myself the headache of replying to these or creating a new library.

Link to comment
Share on other sites

2 hours ago, JockoDundee said:

Unlikely

Well, he might have found something really great.  So it is understandable that he wants to keep it secret and private.  He might have invented the next generation of FaceBook or Twitter. 

WAIT, he wants to automate it with PixelGetColor, a few MouseClick and lots of Send.  True Robust Software...

Link to comment
Share on other sites

how about this?

 


   $winChecksum = PixelChecksum(870, 530, 970, 600)

   Send("{ENTER}")

   While $winCheckSum = PixelChecksum(870, 530, 970, 600)       ;  wait for next panel
       Sleep(100)
   WEnd

Edited by pkil_k
added stuff
Link to comment
Share on other sites

10 hours ago, Nine said:

Well, he might have found something really great.  So it is understandable that he wants to keep it secret and private.  He might have invented the next generation of FaceBook or Twitter. 

WAIT, he wants to automate it with PixelGetColor, a few MouseClick and lots of Send.  True Robust Software...

This is how you get your kicks isn't it? That's sad.. No I haven't 'invented' anything, there's no hill billy harry potter stuff going on. I just wanted to detect what area has changed on screen.
But I forgot that this is the internet and people like you exist.
 

 

5 hours ago, pkil_k said:

how about this?

 


   $winChecksum = PixelChecksum(870, 530, 970, 600)

   Send("{ENTER}")

   While $winCheckSum = PixelChecksum(870, 530, 970, 600)       ;  wait for next panel
       Sleep(100)
   WEnd

Thanks but as the function description says:
A checksum only allows you to see if "something" has changed in a region - it does not tell you exactly what has changed.
I need the area that has changed. Apart from that it's also slow. But as I said I already managed to work with PixelGetColor since I'm just getting trolled here (not by you).

Link to comment
Share on other sites

50 minutes ago, kellariluukku said:

A checksum only allows you to see if "something" has changed in a region - it does not tell you exactly what has changed.
I need the area that has changed. 

That’s exactly what it tells you, the area changed is the region you define.

54 minutes ago, kellariluukku said:

Apart from that it's also slow.

Well, they are both a bit slow for my taste, but if the total area that you need to monitor for changes is more than a few hundred pixels or so, it’s way quicker to use multiple pixelchecksums in a binary search until your target area is small enough to brute thru pixelgetcolor.

 

 

Code hard, but don’t hard code...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...