Keira Knightley was the second highest-paid Hollywood actress last year, a study by US business magazine Forbes has showed.

The Pirates Of The Caribbean star earned 32 million dollars (£16 million) through her roles in the Pirates sequel At World's End and in the Oscar-nominated literary romance Atonement.

But the 23-year-old Briton, whose racy ads for Chanel's Coco Mademoiselle perfume also brought in the cash, was beaten to the top spot by Cameron Diaz, who earned 50 million dollars (£25 million) for her roles in Shrek and What Happens In Vegas.

No other British women made the top 10 and no Britons made it into the Forbes top 10 list of the highest-paid Hollywood actors.

But the 10 best-paid actors out-earned the 10 best-paid actresses by two to one over the year, the figures showed.

I Am Legend Star Will Smith topped the list with 80 million dollars (£40 million). Smith, who stars in this summer's hit Hancock, is also the first actor ever to have eight straight movies take in more than 100 million dollars (£50 million) at the box office.

Knightley's co-star Johnny Depp ranked second with a 72 million dollar (£36 million) pay cheque, followed by Eddie Murphy and Mike Myers, who made 55 million dollars (£27.5 million) each.

And the wizard world of Harry Potter led to a strong performance by younger Britons in the so-called "tweens" list.

Daniel Radcliffe, 19, shared the top spot with 15-year-old Hannah Montana star Miley Cyrus, with both taking home 25 million dollars (£12.5 million) last year, while his co-stars Emma Watson, 18, and Rupert Grint, 19, also made the top 10, earning 5.5 million dollars (£2.75 million) and 5 million dollars (£2.5 million) respectively.