Anthony Hopkins gave an impeccable performance. However, the material he was given to work with was not as good as Silence of the Lambs. In fairness, perhaps there was no way it could be. In SOTL, he was somehow more foreboding, more of a sort of superhuman monster; in Hannibal, he's more accessible, a guy you meet on the street. Maybe it was impossible to maintain the mystery of Lecter that we saw in SOTL because of the risk of doing a rehash. I'd give the overall Dr Lecter character a 9 of 10 in this film, vs. a 10 of 10 in the last one. Not quite as good, but still very good.
Starling's character, on the other hand, fell flat in this film. In SOTL, Foster perfectly portrayed Starling's flat surface with a turbulent depth; in Hannibal, there was nothing under her surface. Foster's Clarice evoked feelings of sympathetic grief, Moore's Clarice evoked nothing. I do not necessarily blame Moore, this could be due to writing and/or directing. Obviously, though SOTL focused mainly on Starling's character, Hannibal focuses on, well, Hannibal. Still, that's no excuse for what was done to Starling. Her character gets a 3 of 10.
The story was much weaker in Hannibal than in SOTL. It almost seemed like an excuse to present us with the characters, rather than a story in and of itself. Still, it had no other major flaws, so it gets a 6 of 10.
Now, there's another category I'll call the shock factor. It's different than ordinary gore, it's... creative gore. The sick, disgusting depravity we expect to see and like to see in this type of film. I can't go into detail without spoiling it, but I'll have to say it goes even beyond what I expected. Do not watch this film if you are squeamish or dislike gore. There isn't a lot of gore in the film, but what there was, was... concentrated. Shock Factor, 10 of 10.
Overall I give the film an 8 of 10. Very well done with a few weaknesses, well worth watching.