Your friends might not realize that they're hurting your feelings and might see it as innocent fun. Maybe you should tell them you're a bit sensitive about your looks, and if they still don't shut up then ditch them becasuse they're not worth your time. Sometimes people say things that might be mean because they think they're being clever.
Also, not to make your problem sound less serious or anything, but you might be perceiving the reactions of others as negative because you believe that you are ugly. So you might pick up on some things people say and read a little deeper into it than you normally would, and you might see yourself differently in photos from a few years ago because then you weren't so insecure. It's hard to explain, I hope you know what I'm getting at. I'll demonstrate with an example. I was at a party with me ex and his family, and there was nibbles on the table, you know tortilla chips and stuff, and since I hadn't eaten all day I took a few handfuls. Later on they were joking around and said they needed more tortillas and his mam says 'that's because mandy's had about 3 bags' in a jokey way. Normally, this wouldn't bother me because that's just what they're like and it was in fun, but at the time I was very sensitive about my weight and was quite offended. Maybe the same thing is going on with your friends. It might be totally innocent to them, but the only way you'll know is to challenge them about it.
I know what you mean about the mirror/photos thing. There's time when I'll get ready and think I look great in the mirror, and then I catch myself later on in a mirror or someone takes a photo and I look completely different. I don't know which is more accurate, so it is hard to know how others actually see you.
Being told that youre ugly, especally by people close to you, makes you believe it. But they were being immature, and because of this your self esteem has suffered. Don't let it get to you, and definitely don't let it stop you from having fun. As the others said, you need to be around the right people, who will make you forget about what others have said to you. You need confidence in yourself, and try to focus on your other good points. You said yourself you had many, and that in itself makes you a better person. You perceive yourself as ugly because of what others have said, and you need to push these things out of your mind and move on.