ReadPixels Error

Ok so I am creating new Rect and I want to get all the pixels from the position of that rect using ReadPixels, however when I creare new rect it seems like it is getting all the pixels from below that rect. So its like making a copy of that rect excatly below it and getting pixels from that rect. Does anyone know why is this happening?

            Texture2D tex = new Texture2D(selectionObject.width, selectionObject.height);
            tex.ReadPixels(new Rect(0, 0, selectionObject.width, selectionObject.height), 0, 0);

A Rect’s position is defined by its top-left corner, and pixel coordinates are specified from the bottom left of the screen. You need to add the height of the Rect to its coordinate to shift it up.