canevasに写真を表示したい。canevas は写真よりも小さいので、以下の例のように写真を拡大縮小して中央に配置したいと考えています。
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 :'(