actually this is correct since the X and Y position are transformed and you ll only get the original X and Y position before the transformation.
I use this small code found on msdn (
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/86350f19-6457-470e-bde9-66e8970f7059/)
for that kind of things in WPF (it should also work in silverlight):
public Rect GetBounds(FrameworkElement
of, FrameworkElement from)
{
// Might throw an exception if of and from are not in the same visual tree
GeneralTransform transform = of.TransformToVisual(from)
;
return transform.TransformBounds(
new Rect(0, 0, of.ActualWidth, of.ActualHeight));
}
you would call it like this:
Rect r=GetBounds(img2,myCanvas)
;
double x = r.X;
double y = r.Y;
Good luck !