The 24-year-old, who scored 42 goals in 108 appearances for the Terriers, turned down the offer of a new deal to move to St Andrew's, where he will be reunited with former manager Lee Clark.
The City boss said: "Lee's looking to progress and coming to Birmingham is another progression in his career.
"Our crowd will take to him because they'll see the work ethic of the player. They'll see everything that he gives and he'll quickly establish himself as a popular player with the fans.
"I gave Lee his opportunity in the Football League and for three years he was absolutely magnificent for me. He was what you call the second striker and played the role just off Jordan Rhodes.
"He's strong and he gets goals. We're looking forward to getting him on board with what we're trying to do here and I know he understands the way I want to play the game."