CompositeTransform.TranslateX不起作用

时间:2014-04-24 15:14:06

标签: c# wpf windows-phone-8 system.windows.media

我想在canevas中显示图片。 canevas比图片小,我希望图片缩放和居中,如下图所示。

我无法使用Stretch=UniformToFill因为它裁剪了不在画面中的画面部分(示例中的绿色部分),我需要能够移动画面。 (通过移动图片,用户可以选择他想要保留的图片部分)。这也是为什么我不能使用renderTransform。

我尝试以编程方式缩放和翻译我的图片。我已经实现了基于this post的缩放,现在我想使用CompositeTransform项来进行转换。

规模有效但不是翻译。 无论比例因子集是什么,都没有变化。

我对Stretch=none

的看法

What I have

我想得到programmaticaly:

What I need

这是我的代码:

double scaleFactor = (CanvasCropPola.ActualHeight) / Math.Min(ImageCropPola.ActualHeight, ImageCropPola.ActualWidth);
double transX = 500; // regardless of this value, the translation don't work

myCompositeTransfrom.ScaleX = scaleFactor; // work
myCompositeTransfrom.ScaleY = scaleFactor; // work
myCompositeTransfrom.TranslateX = transX; // don't work :'(

0 个答案:

没有答案