[Tex/LaTex] put logo on top right corner in beamer

beamer

I want to put logo at top right corner in beamer, maybe just align with the title line but should not depended on title bar exist or not :-).

For reference,another topic is to put logo at the bottom line.

Current code as below:

\documentclass[t]{beamer}
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{footline}[frame number]
\logo{\makebox[1\paperwidth]{\includegraphics[width=.5cm,keepaspectratio]{logo.png}}}

\begin{document}

\begin{frame}[c]{Hello world}
\begin{itemize}
\item item 1
\item item 2
\item item 3
\end{itemize}
\end{frame}

\end{document}

Current output is:

enter image description here

Best Answer

Put it any where you like with eso-pic

\documentclass[t]{beamer}
\usepackage{eso-pic}
\beamertemplatenavigationsymbolsempty
\setbeamertemplate{footline}[frame number]

\newcommand\AtPagemyUpperLeft[1]{\AtPageLowerLeft{%
\put(\LenToUnit{0.9\paperwidth},\LenToUnit{0.9\paperheight}){#1}}}
\AddToShipoutPictureFG{
  \AtPagemyUpperLeft{{\includegraphics[width=.5cm,keepaspectratio]{logo.png}}}
}%

\begin{document}

\begin{frame}[c]{Hello world}
\begin{itemize}
\item item 1
\item item 2
\item item 3
\end{itemize}
\end{frame}

enter image description here

Adjust \LenToUnit{0.9\paperwidth},\LenToUnit{0.9\paperheight} in

\newcommand\AtPagemyUpperLeft[1]{\AtPageLowerLeft{%
\put(\LenToUnit{0.9\paperwidth},\LenToUnit{0.9\paperheight}){#1}}}

as you wish.