Why ReadPixels get a darker image?

I use scene caputure 2d to caputure images from a viewport, and ReadPixels to get the image in C++, but I get a very

dark image,why?? I also changed gamma, but it gets even darker.