我想在画布中显示图片。画布比图片小,我希望图片像下面的示例一样缩放和居中。
我不能使用Stretch=UniformToFill
,因为它裁剪了不在框架中的图片部分(例如绿色部分),我需要能够移动图片。(通过移动图片,用户可以选择他想要保留的图片部分)。这也是为什么,我不能使用renderTransform。
我尝试以编程方式缩放和翻译我的图片。我已经根据这篇文章实现了捏缩放,现在我想使用 CompositeTransform 项目来进行我的转换。
规模有效,但翻译无效。无论比例因子设置是什么,都不会改变。
我有什么Stretch=none
:
我想以编程方式获得什么:
这是我的代码:
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 :'(