Picture in GUI showing too small

With a little googling I found code for progress bar and can’t get it to work correctly. Both pictures, full and empty, are 156x28.

Here is my code for GUI and variables for that bar. At start there is code to scale UI for different resolutions and native resolution is 1920x1080 (same problem with that resolution too). Progress percentage comes from another script and it shows same as progress bar, but I’m going to remove it after I get this bar to correct size.

I have tried to change sizes for groups and boxes, but bar is always same size. I also tried removing code for scaling (rows 5-9), but no luck.

var progressBarEmpty : Texture2D;
var progressBarFull : Texture2D;

function OnGUI(){
    rx = Screen.width / data.native_width;
    ry = Screen.height / data.native_height;
    GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (rx, ry, 1));
    GUI.skin.label.font = GUI.skin.button.font = GUI.skin.textField.font =  GUI.skin.box.font = data.font;
    GUI.skin.label.fontSize = GUI.skin.box.fontSize = GUI.skin.textField.fontSize = GUI.skin.button.fontSize = data.fontSize;

    var textAligment = GUI.skin.GetStyle("Label");
    textAligment.alignment = TextAnchor.UpperLeft;

    GUI.Label(Rect(10, 70, 360, 70), "Gold: " + data.collectedMoney);
    GUI.Label(Rect(10, 130, 360, 70), "Lives: " + playerLives);
    GUI.Label(Rect(10, 190, 360, 70), "Shields: " + data.shieldAmount);

    if(GUI.Button(Rect(data.native_width-375, data.native_height-135, 360, 120), "SHIELD") && !playerShield && playerAlive && data.shieldAmount >= 1){
        var tempShield : Transform;
        data.shieldAmount--;
        data.shieldsUsed++;
        playerShieldTimer = 10.0;
        playerShield = true;
        tempShield = Instantiate(shield, transform.position, transform.rotation);
        tempShield.transform.parent = gameObject.transform;
    }

    GUI.BeginGroup(new Rect (1754, 10, 156, 28));
        GUI.Box(Rect(0, 0, 156, 28), progressBarEmpty);
        GUI.BeginGroup(new Rect(0, 0, 156 * data.levelTimer/100, 28));
            GUI.Box(Rect(0, 0, 156, 28), progressBarFull);
        GUI.EndGroup();
    GUI.EndGroup();
}

This is how it is currently:

This is what I want it to be (photoshopped):

Don’t use GUI.Box, but GUI.DrawTexture.

Depending on your configuration of the skin you are using, GUI.Box has padding, so your image will be displayed at the size you gave - all-round padding.