Okay, so some of you will think it's pretty easy to do image color reading. Like I could just write a simple custom block and make a few values to get a pixel from an image.
Unfortunately, it's not that simple. What you actually need is 24 separate images. Let me explain.
In hopscotch (and programming in general), there are exactly 16,777,216 colors possible. That also happens to be 2^24, or 2 * 2 * 2 * 2 * ... * 2 with 24 2s.
In hopscotch, there's 2 possible states for an object touching another object - touching (1) and not touching (0). So if we have 24 separate images, there's exactly 16,777,216 ways that we can have an object touching or not touching those images.
This means that if we have 24 specific images, we can basically have an image but split into 24. We can also get any pixel we want from the original by set positioning to a certain place in the images, and doing some simple math to get the color.
Once you have the 24 images, now you import them into hopscotch.
Once you import the images, write a rule like this for the "Red 1":
And then write one for Red 2:
The numbers that switched from 1 in the first rule to 2 in the second rule will always need to be the number in the name of the image. So if you have "Red 64", you will replace those numbers with 64. Now, once you get to the green images, replace all the Red variables with one named Green. Do the same with the Blue images.
Now, the Red, Green, and Blue variables have the color of the pixel of your image where your object is!
Note: This teqnique will not work unless the object is very small, but can still bump other objects.
Let me know if this is confusing, I'll try to help