James McAvoy was 25 in The Last King of Scotland when he played the character 'Dr. Nicholas Garrigan'.
That was over 18 years ago in 2006.
Today he is 45, and has starred in 55 movies in total, 42 of those since The Last King of Scotland was released.
In The Last King of Scotland, I think James McAvoy looks: