People really need to learn boundaries. If you see someone famous out in public, first, very quietly say, "Excuse me. I appreciate/love your work."
It could and very well should end there. If you really need it to go further, ask. You are on THEIR TIME.
If one could imagine how uncomfortable it would be for your boss to stop you at the store and demand or force a conversation, that's what it feels like to most stars.
The time the famous person GAVE YOU is like the time you already GAVE your boss. It's already spent. The show/movie you watched was that time. You/they are off the clock.
Further time, including pictures, can only be give upon request and acceptance of that request, and they don't owe you their free time any more than you owe your boss your free time.