Janus , You know how you use GetPixel and pass the RGB value that is under the mouse pointer , right ( I assume you do ) I want to do the same thing with the entire area that lay's beneath a v.b.square.Of which will be placed into a picture box control.The v.b. square's will not move , only pass the RGB values in the picturebox that the v.b.square is above. So eg..... I load a picture into picture1. , so , let's say : square2 = square1 , but in essence it was square1 that passed it's information to square2. My square's are small to get the RGB , they are 4 pixel's by 4 pixel's , they will then pass the RGB value to a second set of square's which will be 9 pixel's by 9 pixel's.I'd really like to stay away from Blitting , as I know nothing more of it other than how to get the current RGB value that lay's beneath the mouse cursor with it.I'd like to do the same with a 4 x 4 square.