While \vtop
goes into the right direction applying it to "hey ho" doesn't help because the image causes the cell to be very high while the baseline (the logical line where the text sits on) is at the bottom of the image. This places the text in the other cell of the same row at the bottom. A way to fix this is to lower the image below the baseline, which will effectively raise the baseline and so the text sitting on it.
You can use the \raisebox{<length>}{<content>}
macro to raise or lower the image. I would say lower it to the \height
of the image minus the height of the text (given by \ht\strutbox
):
(The demo
mode is used here so the image is not required to compile the file. A black box is shown instead. Just remove the stuff for your file.)
\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{tabular}{|c|l|}\hline
\raisebox{\dimexpr\ht\strutbox-\height\relax}{\includegraphics[draft,height=2cm,width=5cm,scale=0.4]{2_1}} & hey ho \\ \hline
s & ho hey \\ \hline
\end{tabular}
\end{frame}
\end{document}
