我想在canevas中显示图片。 canevas比图片小,我希望图片缩放和居中,如下图所示。
我无法使用Stretch=UniformToFill
因为它裁剪了不在画面中的画面部分(示例中的绿色部分),我需要能够移动画面。 (通过移动图片,用户可以选择他想要保留的图片部分)。这也是为什么我不能使用renderTransform。
我尝试以编程方式缩放和翻译我的图片。我已经实现了基于this post的缩放,现在我想使用CompositeTransform项来进行转换。
规模有效但不是翻译。 无论比例因子集是什么,都没有变化。
我对Stretch=none
:
我想得到programmaticaly:
这是我的代码:
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 :'(