The 27-year-old forward began his career with West Bromwich Albion and moved on to Oxford United before joining Leeds United in 2016.
Rangers boss Steven Gerrard told the club website: "Kemar is recognised throughout Europe as an intelligent attacker with an eye for goal. I look forward to working with him and recognise his potential to further progress our starting eleven.
"He has experienced the pressure and expectation at Leeds United and has played on the continent which will stand him in good stead for his time at Ibrox.”
Later in the day, Rangers announced the signing of 23-year-old striker Cedric Itten on a four-year deal from Swiss side St Gallen.