GUI layout Label Dimension issue

I have 2+ GUI textures that have different dimension.
I wanted them to display as full image,
but image2 got clipped like this,


Here’s the code

private Texture2D[] pages;
private int currentPage;	
private Rect guiScreenRect;

	protected void OnGUI()
	{
		if(isActivate)
		{
			float divider = 0.5f;
			
			// left top width height confine to 0-1 pages[currentPage].height*divider
			guiScreenRect = new Rect(0.0f,0.0f,1.0f*divider,0.9f*divider);
			
			guiScreenRect.x *= Screen.width;
			guiScreenRect.width *= Screen.width;
			guiScreenRect.y *= Screen.height;
			guiScreenRect.height *= Screen.height;
			
			GUILayout.BeginArea(guiScreenRect);
			GUILayout.Label(pages[currentPage]);
			GUILayout.EndArea();
		}
	}

public void LoadResourcesBaseonID(string refID)
{
	currentPage = 0;
	
	int ID = int.Parse(refID);
	string bookTitle = BookData.m_BookData[ID].GetTitle();	
		
	pages = Resources.LoadAll("BookPages/" + bookTitle, typeof(Texture2D)).Cast<Texture2D>().ToArray();
}

Try this:(in OnGUI())

GUILayout.BeginArea(guiScreenRect);
GUI.Label(new Rect(0, 0, guiScreenRect.width, guiScreenRect.height), currentPage);
GUILayout.EndArea();