Recently, Scott Rossi wrote:

>Recently, Bob Warren wrote:

>> > Suppose I have 2 cards in a stack and I am moving the mouse over the top >> > card (naturally). I want to know what colour is under the mouse pointer >> > in a corresponding position on the 2nd card which is hidden underneath.

>
> I believe this function will retrieve the pixel color of a pixel in any
> image using the X,Y position of the pixel as measured from the topleft of
> the image.  Pass the long ID of the image and the X,Y coordinates as
> follows:
>
> on mouseUp
>   answer retrievePixelColor(long id of myImage,5,5)
> end mouseUp
>
> function retrievePixelColor pObj,X,Y
>   put imageData of pObj into tData
>   put ((Y-1) * width of pObj * 4) + ((X-1)*4) into P
>   repeat with N = 2 to 4
>     put charToNum(char (P+N) of tData) & "," after tColor
>   end repeat
>   delete last char of tColor
>   return tColor
> end retrievePixelColor
>
> Let me know if this works for you.
>
> Regards,
>
> Scott Rossi
> Creative Director
> Tactile Media, Multimedia & Design

-------------------------------------------------

Thanks a lot Scott, almost there!

Using a mouseMove routine on the top card such as:-

on mouseMove
  put retrievePixelColor(long id of image "myImage" \
  of card "Card2",the mouseH,the mouseV) into field \
  "ColourRGB" of card "Card1"
end mouseMove

- it works quite nimbly, even on my old Pentium II.

However, there are some slight inaccuracies in the colours reported.
For example:

RED 255,0,0 is reported as 254,0,0
GREEN 0,128,0 is reported as 0,128,1
BLUE 0,0,255 is reported as 0,0,254
YELLOW 255,255,0 is reported as 255,255,1

WHITE 255,255,255 is OK.

Without a better analysis of your function, I cannot see immediately what the trouble is. Can you see it Scott?

Regards,
Bob





_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to