旅先で、写真を撮ってもらった御礼に写真を撮ってあげようとして「Can I take a picture?」って言ったら、余り良い顔はされませんでした。「Shall I take a picture?」「Do you want me to take a picture?」「Would you like me to take a picture?」色々ありそうですが…どの言い方が良いですか?
"Can I take a picture?"だと「写真を撮ってあげましょうか?」というよりは「写真を撮ってもいいですか?」という意味に捉えられる場合が多いです。
"Shall I~"や"Would you~"が丁寧な言い方になります。
文章の終わりに"for you?/of you?"と記載していますが、こちらは省略しても全く問題ありません。
(例:Would you like me to take a picture?)
もっとカジュアルな言い方だと、"Want me to take a picture?"などがあります。
I'll take a picture for you too, if you like.
よければ、あなたの写真も撮ってあげますよ。
確かに Can I take a picture? だと、「写真撮っていいですか?」なので、「あなたの写真を撮っていいですか?」だと思われたのかもしれませんね。
もしあなたは写真を撮ってもらったのであれば、「あなたのも私が撮ってあげますよ」という言い方が良いと思います。if you like は「もしあなたが良いと思うなら」、日本語でいう「よろしければ」というフレーズです。
Do you want to take a picture too?
あなたも写真撮りたいですか?
旅先(特に観光地)だと、必ずしもその方も英語がネイティブとは限らないことがあります。最もシンプルなので、こちらの方が伝わりやすい場合もあります(特にYouを強調するのがポイントです)。