There should be an easy way to place a sloped node along a path. Using sloped works great (as in the black text). However, if there is a rotate= applied then the text is no longer along the path (as in the red and blue examples). I can get the correct direction if I use transform shape (as in the orange example), but then the text gets scaled if a scale= is being applied.
Question: How do I define the \MyDraw macro so that it can be used with a rotate and a scale such that:
- the text is along the path even if a
rotate=is applied, and - the text is not affected by a
scale=.

Notes:
- In my actual use, these drawing are all in the same
tikzpictureand I use ascopeto apply the desired transformations. To keep the MWE as close to possible as my actual use case, I usedscopes in the MWE below instead of applying the options to thetikzpictureitself.
Code:
\documentclass{article}
\usepackage{tikz}
\newcommand*{\MyDraw}[1]{%
\draw [ultra thick, -latex] (0,0) -- (1,4)
node [midway, above, sloped, align=center] {#1};
}%
\begin{document}
\begin{tikzpicture}
\MyDraw{not rotated};
\end{tikzpicture}%
% --------------------------------- apply "rotation"
\begin{tikzpicture}
\begin{scope}[rotate=-25, red]
\MyDraw{rotated};
\end{scope}
\end{tikzpicture}%
% --------------------------------- apply "rotation" and "scale"
\begin{tikzpicture}
\begin{scope}[rotate=-15, scale=1.3, blue]
\MyDraw{rotated and scaled};
\end{scope}
\end{tikzpicture}%
% --------------------------------- apply "rotation", "scale" and "transform shape"
\begin{tikzpicture}
\begin{scope}[rotate=-15, scale=1.5, transform shape, orange]
\MyDraw{rotated, scaled and \ ``transform shape"};
\end{scope}
\end{tikzpicture}
\end{document}







\pgfgettransformentries{\mya}{\myb}{\myc}{\myd}{\mys}{\myt}to guess the scale factor and then use it together with thetransform shapekey withxscale=1/\mya,yscale=1/\myd. It is working in your example, but I wonder if it will works in every cases (I mean with multiple transformations). – remjg Jun 10 '14 at 21:00transform shape. You want to post that as an answer - I am going to use that unless an easier solution appears. – Peter Grill Jun 10 '14 at 21:11myaandmyd. – Peter Grill Jun 10 '14 at 21:19