After any match is played in Heroes of the Storm, you receive experience for the hero you just played which allows you gain levels (see Here)
How is the amount of XP you gain after each match calculated? Does it vary by game type?
That screenshot seems to be from pre-2.0 Heroes of the Storm. Since 2.0 hit, there is no separate player XP bar.
Anyway, there are a few things that determine how much XP you get per match:
All those percentage bonuses don't stack, which means that they are applied separately to the base XP of the game (without the win bonus).
The higher level your hero, the more XP it takes to earn a new level. Each level you gain gives you one (or more) lootbox(es). This lootbox will be an Epic lootbox if your player level if a multiple of 25, a Rare lootbox if your player level is a multiple of 5 (but not multiple of 25), or a Common lootbox for every level not mentioned above.
You also get a hero-specific lootbox if your hero's level is a multiple of 10.